【发布时间】:2015-03-04 05:38:44
【问题描述】:
我正在编写一个程序,该程序旨在帮助孩子和阅读障碍者将单词分成音节。 软件要做到这一点,它需要计算给定单词中的所有元音。
我已经编写了代码,如果它们不包含特殊元音,它可以正确划分任何单词。 但是,如果我使用带有丹麦元音的单词,则不会计算特殊元音,因此该单词不会分成正确的音节。
这是我的代码:
#!/usr/bin/env python
-*- coding: utf-8 -*-
import sys
wordGiven = str(sys.argv[1])
vowelsArray = ["a", "e", "i", "o", "u", "y", "æ", "ø", "å"]
vowelsFoundInWord = 0;
counter = 0
for char in wordGiven:
if char in vowelsArray:
vowelsFoundInWord += 1
counter += 1
print vowelsFoundInWord
如果我在脚本中输入“slået”这个词,它只会打印 1。我该怎么办? 我已经尝试在列表和循环中写入 ord("å") ,但随后出现错误:ord() “期望一个字符,但找到长度为 2 的字符串”。
我应该怎么做才能让它工作?
【问题讨论】:
-
然后使用什么编解码器在命令行上给出参数?换句话说,
print repr(wordGiven)产生了什么? -
如果我打印 repr(Wordgiven) 我得到以下信息:'sl\xc3\xa5et'
-
对,这是一个 UTF-8 编码的 Unicode 文本
slået的字节串。
标签: python python-2.7 unicode ascii