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
相关产品推荐
相关产品推荐

