我正在尝试用Python制作这个Pig拉丁语翻译程序,它一直工作得很好,直到我试图缩小它一点。在
有人能看看这个代码并告诉我为什么,当我在一个单词的开头输入一个没有元音的单词时,它仍然会在if语句中打印“元音”代码?在
代码:
pyg = 'ay'
original = raw_input('Enter a word: ')
low_original = original.lower()
if len(low_original) > 0 and low_original.isalpha():
print low_original
if low_original[0] == 'a' or 'e' or 'i' or 'o' or 'u':
print "vowel"
pyg_vowel = low_original + pyg
print pyg_vowel
else:
print "consonant"
pyg_cons = low_original[1: ] + low_original[0] + pyg
print pyg_cons
else:
print 'empty'
如果总是返回真的话!在
你需要分别检查所有的元音。在
目前,您的if条件评估为:
or
返回其条件中的第一个真值,这将是True
或{'e'
被计算为True
,所以这两个值都是true
,因此您的条件总是true
。在你应该这样做:
^{pr2}$或者:-
您应该替换字符串:
有:
^{pr2}$相关问题 更多 >
编程相关推荐