Python如何求数组中奇数的和?现有代码报错及新增输入校验需求
修复说明
现存问题
- 函数返回值错误:
sum_odd函数完成奇数累加后,错误返回了传入的原数组arr,需要改为返回累加结果 - 函数调用方式错误:打印语句中直接引用了
sum_odd函数对象本身,没有加括号传入参数执行,因此输出了函数的内存地址 - 变量名不规范:使用内置函数名
sum作为变量名,可能覆盖内置功能,建议修改为其他名称 - 缺少输入校验逻辑:未判断用户输入的数字数量是否超过10个的限制
修复后代码
def sum_odd(arr): total = 0 for i in arr: if i % 2 == 1: total += i return total nums = input("请输入10个数字:") arr = list(map(int, nums.split())) # 输入数量校验 if len(arr) > 10: print("错误:输入的数字数量不能超过10个") else: print("所有奇数的和为:", sum_odd(arr))
内容的提问来源于stack exchange,提问作者Zhen Zhen
相关产品推荐
相关产品推荐

