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

Python新手求助:计算器非法运算符输入处理问题

计算器运算符合法性检查问题解决方案

你当前的代码缺少对输入运算符的合法性校验环节,导致用户输入非+、-、*、/的运算符时,程序没有对应的处理逻辑,无法输出提示并退出。

直接给你修改思路和示例代码:

  1. 先定义合法运算符集合,在获取用户输入的运算符后,检查是否在合法集合内
  2. 若输入非法运算符,立即打印提示语句,然后终止程序

修改后的完整示例代码:

import sys

num1 = float(input("输入第一个数字: "))
op = input("输入运算符(+, -, *, /): ")
num2 = float(input("输入第二个数字: "))

# 定义合法运算符集合
valid_operators = {'+', '-', '*', '/'}

# 检查运算符是否合法
if op not in valid_operators:
    print("错误:请输入有效的运算符 +、-、*、/,程序即将退出")
    sys.exit()

# 原有计算逻辑
if op == '+':
    print(f"计算结果: {num1 + num2}")
elif op == '-':
    print(f"计算结果: {num1 - num2}")
elif op == '*':
    print(f"计算结果: {num1 * num2}")
elif op == '/':
    # 额外补充除数不为0的检查(可选但推荐)
    if num2 == 0:
        print("错误:除数不能为0,程序即将退出")
        sys.exit()
    print(f"计算结果: {num1 / num2}")

说明:

  • 用集合存储合法运算符,判断效率更高,写法也简洁
  • 使用sys.exit()可以直接终止程序,如果你不想导入sys模块,也可以用exit()替代
  • 补充的除数为0检查能避免程序崩溃,提升计算器的健壮性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:50:46