Python新手求助:加法计算器输入数字输出拼接结果而非求和
解决基础加法计算器的字符串拼接问题
问题根源
Python 中 input() 函数默认返回字符串类型,直接使用 + 运算符会执行字符串拼接操作,而非数值加法,这就是输入2和2得到"22"的原因。
解决方案
方式1:获取输入时直接转换类型(推荐)
将输入的字符串转为整数(int)或浮点数(float,支持小数计算),这样+就会执行数值加法:
Number_1 = int(input("what number?")) Operator = "will be added" print(Operator) Number_2 = int(input("What is the next number?")) A = Number_1 + Number_2 print(A)
如果需要支持小数计算,把int替换成float即可。
方式2:计算前转换类型
先获取字符串输入,在计算阶段再转换为数值类型:
Number_1 = input("what number?") Operator = "will be added" print(Operator) Number_2 = input("What is the next number?") A = int(Number_1) + int(Number_2) print(A)
可选:添加输入容错处理
如果用户输入非数字内容,程序会抛出ValueError,可以通过异常处理优化用户体验:
try: Number_1 = int(input("what number?")) Operator = "will be added" print(Operator) Number_2 = int(input("What is the next number?")) A = Number_1 + Number_2 print(A) except ValueError: print("请输入有效的数字!")
内容的提问来源于stack exchange,提问作者Jacob Teno
相关产品推荐
相关产品推荐

