Python使用sys.argv统计字符串大写字母数返回None问题求解
问题原因
- 你编写的
c_upper函数完成大写字母计数后,没有显式返回计数结果upper。Python中未指定return语句的函数默认返回None,这是输出为None的直接原因。 - 代码末尾单独的
c_upper(s)调用无赋值、无打印操作,属于无效调用,不影响当前输出结果。
修正后代码
import sys def c_upper(s): upper = 0 for char in s: if char.isupper(): upper += 1 # 新增返回计数结果的语句 return upper s = str(sys.argv[1]) print(c_upper(s))
测试验证
当传入参数为ApplE is HoT时,运行代码会输出4,符合预期计数结果(大写字母分别为A、E、H、T共4个)。
内容的提问来源于stack exchange,提问作者Henry
相关产品推荐
相关产品推荐

