我正在编写一个函数,该函数应该计算输入短语中的数字。该短语将存储为元组,而while循环应计算元音的数量。到目前为止,我已经知道了。

def whilephrase():
    vowels=['A','a','E','e','I','i','O','o','U','u']
    print('Please give me a phrase')
    inputphrase=input()
    inputphrase=tuple(inputphrase)
    i=0
    while True:
        if vowels in inputphrase:
            i=i+1
        else:
            print(i)


但这只是打印出一个无穷尽的零循环。

最佳答案

您需要遍历输入短语:

for character in inputphrase:
    if character in vowels:
        i = i + 1
print(i)


但是,当然有更简单的方法:

def count_vowels(string):
    return sum(1 for c in string if c.lower() in "aeiou")


编辑:使用while循环(尽管我不确定为什么您要这么做):

index = 0
i = 0
while index < len(inputphrase):
    if inputphrase[index] in vowels:
        i += 1
    index += 1
print(i)

关于python - Python While循环与元组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35213176/

10-12 23:59