Python大小写字母统计函数无输出,请求排查代码错误
问题分析与修正方案
你的代码核心问题
- 循环内过早使用
return:在for循环的if/elif分支里,每次判断字母大小写后立刻执行return,导致函数遍历到第一个符合条件的字符时就直接退出,循环无法继续统计后续字符,后面的print语句永远不会被执行。 - 参数命名不规范:用
str作为参数名,和Python内置的字符串类型名称冲突,虽然不报错,但容易造成混淆,建议用更具描述性的名称。
修正后的代码
def count_case(input_str): upper_count = 0 lower_count = 0 for char in input_str: if char.isupper(): upper_count += 1 elif char.islower(): lower_count += 1 print('大写字母数量:', upper_count) print('小写字母数量:', lower_count) count_case('The quick Brow Fox')
修正说明
- 移除了循环内的
return语句,让循环能完整遍历输入字符串的每一个字符,完成全部统计。 - 参数名改为
input_str,避免和内置类型冲突。 - 变量名改为
upper_count和lower_count,语义更清晰,可读性更强。 - 去掉了多余的
else: pass,非字母字符直接跳过即可。
运行修正后的代码,会输出:
大写字母数量: 3 小写字母数量: 12
内容的提问来源于stack exchange,提问作者Urja 2000
相关产品推荐
相关产品推荐

