Python实现用户输入数字列表求和功能运行时报错问题咨询
错误原因
- Python 中
input()函数获取的所有用户输入默认都是字符串类型,哪怕用户输入的是阿拉伯数字,返回结果也是"123"格式的字符串 - 你直接把字符串存入
number_list后,sum()函数仅支持对数值类型序列执行求和运算,无法处理字符串,因此会触发类型错误 - 原代码中
for date in range(0,1)没有任何实际作用,执行逻辑和直接写循环体内的代码完全一致,可以直接删除
修复方案
在将用户输入存入列表前先做类型转换,同时可以增加输入合法性校验,避免用户输入非数字内容触发额外报错,修复后代码如下:
number_list = [] while True: number = input('请输入数字,输入空回车结束输入: ') if number == '': break # 支持整数、浮点数输入,非法输入会自动提示跳过 try: num = float(number) number_list.append(num) except ValueError: print("输入内容不是合法数字,本次输入无效,请重新输入") print("你输入的数字列表为: ") print(number_list) print() print() print('求和结果为: ', sum(number_list))
如果仅需要接收整数输入,将代码中的float(number)替换为int(number)即可。
内容的提问来源于stack exchange,提问作者sABER
相关产品推荐
相关产品推荐

