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

Python计算器拼写检查功能失效,每次触发误判求助

Python计算器拼写检查误判问题修复

问题原因

你的拼写检查逻辑存在根本性错误:not operation == ("add", "subtract", "multiply", "divide") 这行代码是将输入的字符串与元组直接比较,字符串永远不可能等于元组,因此operation == (...)的结果永远是False,加上not后就永远为True,导致每次都会触发"Invalid operation"的误判。

另外原代码还有逻辑顺序问题:先计算结果再做合法性检查,若输入非法操作,result变量未定义就执行return(result),会引发新的报错。

修正后的代码

# 获取用户输入的操作类型
operation = input("Enter 'add', 'subtract', 'multiply', or 'divide': ").lower()

# 先执行合法性检查
valid_operations = ("add", "subtract", "multiply", "divide")
if operation not in valid_operations:
    print("Invalid operation")
    return

# 合法操作才执行计算逻辑
first_number = float(input("Enter first number: "))
second_number = float(input("Enter second number: "))
if operation == "add":
    result = first_number + second_number
elif operation == "subtract":
    result = first_number - second_number
elif operation == "multiply":
    result = first_number * second_number
elif operation == "divide": 
    result = first_number / second_number

return(result)

关键修改点

  • 将判断逻辑改为operation not in valid_operations,正确检查输入是否属于合法操作集合
  • 调整代码顺序:先做合法性检查,通过后再获取数字并计算结果,避免未定义变量的报错
  • 补充了原代码缺失的first_number和second_number输入逻辑(原代码中这两个变量未定义,会直接引发运行报错)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 20:37:07