You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:22:15