如何编写无需定义变量的代码?元音计数代码问题求助
不用定义变量统计字符串中的元音数量
嘿,先纠正一个小误解:你写的那段代码其实是完全正确的——运行它确实会输出Number of vowels: 5,完全符合题目要求!不过既然你想要实现不用显式定义变量(比如那个count)的写法,我来给你分享几种Pythonic的实现方式:
核心思路:利用内置函数+生成器表达式
Python的sum()函数可以直接对可迭代对象求和,我们可以用一个生成器表达式,每当遇到元音字符就生成一个1,让sum()自动累加这些1得到总数,全程不需要自定义变量:
s = 'azcbobobegghakl' print('Number of vowels:', sum(1 for char in s if char in 'aeiou'))
进一步简化:连字符串变量都省了
如果不需要单独存储字符串s,还可以直接把目标字符串放进表达式里,彻底告别自定义变量:
print('Number of vowels:', sum(1 for char in 'azcbobobegghakl' if char in 'aeiou'))
原理拆解
- 生成器表达式
(1 for char in s if char in 'aeiou')会遍历字符串的每个字符,只要字符是元音就输出1,否则跳过。 sum()函数会把这些1全部加起来,结果就是元音的总数量,整个过程不需要我们手动定义累加变量。
内容的提问来源于stack exchange,提问作者magnetrtk
相关产品推荐
相关产品推荐

