Python用户输入求和异常:输入数字相加得到拼接结果求助
问题原因与解决方法
问题出在input()函数的返回值类型上——Python中input()获取的用户输入默认是字符串类型,所以你输入的2和5实际是字符串"2"和"5",用+运算符时会执行字符串拼接操作,最终得到"25",而不是数值加法的结果7。
解决办法
只需要把输入的字符串转换成数值类型即可,常见的两种方式:
1. 直接转换为整数(适用于整数求和场景)
修改代码,用int()包裹input(),将输入直接转为整数:
num1 = int(input("Enter a number: ")) num2 = int(input("Enter another number: ")) sum_result = num1 + num2 print("The sum is: ", sum_result)
2. 转换为浮点数(支持小数求和)
如果需要计算包含小数的数值和,用float()转换:
num1 = float(input("Enter a number: ")) num2 = float(input("Enter another number: ")) sum_result = num1 + num2 print("The sum is: ", sum_result)
额外提示
如果用户输入了非数字内容(比如字母、符号),上面的代码会抛出ValueError。如果想让程序更健壮,可以添加异常处理,但对于新手来说,先解决核心的类型转换问题即可。
内容的提问来源于stack exchange,提问作者Aniket Mondal
相关产品推荐
相关产品推荐

