Python简易计算器无法返回计算结果问题求助
问题分析与修复
你的计算器始终输出"invalid",核心有两个问题:
1. input()函数用法错误
你在input()里嵌套了print(),比如:
a = input(print("enter a number from 1 to 4"))
print()无返回值(返回None),这种写法完全多余,正确的方式是直接将提示字符串传入input():
a = input("enter a number from 1 to 4: ")
2. 类型不匹配导致条件永远不成立
input()获取的用户输入是字符串类型,但你直接把它和整数1/2/3/4比较(a == 1),类型不同的两个值永远不会相等,因此必然进入else分支输出"invalid"。需要把a转换为整数:
a = int(input("enter a number from 1 to 4: "))
修复后的完整代码
print("choose an operation") print("enter 1 for addition") print("enter 2 for subtraction") print("enter 3 for multipication") print("enter 4 for division") a = int(input("enter a number from 1 to 4: ")) b = int(input('enter the first number: ')) c = int(input('enter the second number: ')) if a == 1: print(b + c) elif a == 2: print(b - c) elif a == 3: print(b * c) elif a == 4: print(b / c) else: print("invalid")
额外优化:直接将输入的数字转为整数,省去中间变量d/e;移除条件语句多余的括号,符合Python代码风格。
内容的提问来源于stack exchange,提问作者guilty snake
相关产品推荐
相关产品推荐

