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

Python计算器代码运行后莫名输出None的问题求助

解决Python计算器运行后输出'None'的问题

嗨,我来帮你搞定这个问题!你代码里莫名出现的None其实是个很常见的小疏忽,咱们一步步拆解来看:

问题根源

你写了这么一行代码:

result = print("Your Result is:")

这里的核心问题是:print()函数本身没有返回有效值(它的默认返回值就是None),你把这个返回值赋值给了result变量,之后在每个运算分支里又执行了print(result),这就直接把None打印出来了。

修正后的代码

咱们把这行有问题的代码改回直接打印提示文本,不需要赋值给变量。另外还可以把重复的print("Done")移到条件判断外面,减少冗余代码:

print("Enter number 1: ") 
num1 = float(input('> ')) 
print("Enter operation: ") 
op = input('> ') 
print("Enter number 2: ") 
num2 = float(input('> ')) 

print("Your Result is:")
if op == "+": 
    print(num1 + num2) 
elif op == '-': 
    print(num1 - num2) 
elif op == '/': 
    print(num1 / num2) 
elif op == '*': 
    print(num1 * num2) 
elif op == '**': 
    print(num1 ** num2) 
else: 
    print("Enter a valid operation")

print("Done")

额外优化小建议

  • 代码里的拼写小错误:Entre应该是Enter,opperation应该是operation,修正后用户交互体验会更好~
  • 可以给除法分支加个除数不为0的判断,避免运行报错:
    elif op == '/':
        if num2 == 0:
            print("Error: Cannot divide by zero!")
        else:
            print(num1 / num2)
    

这样修改后,你的计算器就不会再输出None,运行逻辑也更清晰啦!

内容的提问来源于stack exchange,提问作者nidhaldev big

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:17:16