【发布时间】:2017-06-24 04:25:14
【问题描述】:
所以我有这个学校项目,我非常接近完成它,但有一个我似乎无法正常工作。我拥有的功能之一是:
vowels = "aeiou"
consonants = "bcdfghjklmnpqrstvwyz"
def alphapinDecode(tone):
s = tone.lower()
pin = ''
for ch in s:
if ch in consonants:
idx = consonants.find(ch)
elif ch in vowels:
idx2 = vowels.find(ch)
pin = str(pin) + str(idx*5 + idx2)
print(pin)
return None
在大多数情况下,该功能完全按照我的意愿运行。我取一个字符串,它以字符串形式返回数字。
例如:
>>> alphapinDecode('bomelela')
3464140
但是当我这样做时:
>>>> alphapinDecode('bomeluco')
它返回 346448 而不是它应该做的 3464408 (根据我的任务)。现在我知道该函数根据代码给了我正确的答案,但是我缺少什么让它在 8 之前包含 0?
编辑:
函数应该把你传递的字符串(音调)分解成 2 个字母块(元音/辅音对)。对于这对,它应该使用这对并用元音/辅音索引它们并返回一个数字。 >>>alphapinDecode('hi') 返回 27,因为 consonants[h] 给出 idx = 5 而 vowels[i] 给出 idx2 = 2
【问题讨论】:
-
如果你能解释一下你的函数到底应该做什么以及如何做会有所帮助。
-
对不起,我以为我做到了......但它应该把你传递的字符串(音调)分解成 2 个字母块(元音/辅音对)。对于这对,它应该使用这对并用元音/辅音索引它们并返回一个数字。 >>>alphapinDecode('hi') 返回 27,因为 consonants[h] 给出 idx = 5 而 vowels[i] 给出 idx2 = 2
-
请更新您的问题,以便其他用户知道要回答什么。
-
你确定 pin = str(pin) + str(idx*5 + idx2) 的缩进是正确的吗?你想用 idx*5 做什么,你能解释一下吗?
-
idx*5 只是我的班级在项目中使用的公式。关于缩进,我刚才在上面解释过了。
标签: python string function return