gpt4 book ai didi

python - 有没有办法缩短多个 if 语句?

转载 作者:行者123 更新时间:2023-12-05 09:33:06 26 4
gpt4 key购买 nike

这是一个计算单词中所有元音的程序,程序的大部分是多个 if 语句,有什么办法可以缩短它吗?

word = input("enter a word ").lower()
a, e, i , o , u = 0, 0, 0, 0, 0
letters = [char for char in word]
for x in range(0,len(letters)):
if letters[x] == "a":
a += 1
elif letters[x] == "e":
e += 1
elif letters[x] == "i":
i += 1
elif letters[x] == "o":
o += 1
elif letters[x] == "u":
u += 1
print(f"The word `{word}` has {a} `a` characters, {e} `e` characters, {i} `i` characters, {o} `o` characters, {u} `u` characters")

最佳答案

不要使用 5 个单独的变量,每个元音一个。使用带有元音键的单个 dict

vowels = "aeiou"
vowel_counts = { x: 0 for x in vowels }

for x in letters:
if x in vowels:
vowel_counts[x] += 1

print(f"The word `{word}` has {vowel_counts['a']} `a` characters, {vowel_counts['e']} `e` characters, {vowel_counts['i']} `i` characters, {vowel_counts['o']} `o` characters, {vowel_counts['u']} `u` characters")

关于python - 有没有办法缩短多个 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67448102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com