我在这里犯了什么愚蠢的错误,阻止我确定用户输入的第一个字母是辅音?无论我输入什么,它都允许第一个字母是元音。
original = raw_input('Enter a word:')
word = original.lower()
first = word[0]
if len(original) > 0 and original.isalpha():
if first == "a" or "e" or "i" or "o" or "u":
print "vowel"
else:
print "consonant"
else:
print "empty"
您的问题是first==“a”或“e”
被评估为(first==“a”)或“e”
,因此您总是会得到'e'
,这是一个True
语句,导致打印“元音”
。另一种方法是:
original = raw_input('Enter a word:')
word = original.lower()
first = word[0]
if len(original) > 0 and original.isalpha():
if first in 'aeiou':
print "vowel"
else:
print "consonant"
else:
print "empty"
您在if
语句中所做的是检查首先==“a”
是否为真,然后检查“e”
是否为真,它始终为真,因此if语句的计算结果始终为真。
您应该做的是:
if first == "a" or first == "e" ...
或者更好:
if first in "aeiou":
更改:
if first == "a" or "e" or "i" or "o" or "u":
到:
if first in ('a', 'e', 'i', 'o', 'u'): #or `if first in 'aeiou'`
first=="a"或"e"或"i"或"o"或"u"
总是True
,因为它被计算为
(first==“a”)或(“e”)或(“i”)或(“o”)或(“u”)
,因为非空字符串始终为True,所以该值被计算为True。
>>> bool('e')
True
问题内容: 我在这里犯了什么愚蠢的错误,使我无法确定用户输入的第一个字母是辅音?不管我输入什么,它都可以确定第一个字母是元音。 问题答案: 更改: 至: 总是因为它被评估为 ,因为非空字符串始终为True,因此将其评估为True。
本文向大家介绍如何在Python中检测元音与辅音?,包括了如何在Python中检测元音与辅音?的使用技巧和注意事项,需要的朋友参考一下 首先,您应该检查字符是否为字母。然后,您可以创建一个元音列表,并使用该列表检查字符是否为元音。如果没有,那一定是辅音。例如, 这将给出输出:
样本输出字符串:检测到汉娜输出元音的最后一部分:检测到辅音:h n n h
我做了一个程序来计算输入字符串中元音和辅音的数量: 当“y”本身是辅音时,它应该是元音。我在哪里陈述?
我不知道如何同时有元音和辅音。代码的元音部分工作正常。我不知道如何添加辅音。 我似乎无法理解代码的辅音部分
在循环结束时,我计划显示句子中辅音和元音的数量。我想知道是否有更有效的方法来检查给定句子中有多少辅音和元音,而不是使用if语句手动输入每个字母。(key指的是我已经初始化的扫描仪) 编辑:它需要忽略数字和其他特殊字符,例如,如果我写你好@你好吗?。应该有8个元音和6个辅音。