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

Python循环中如何校验用户输入 限制首次输入仅支持加减运算符

修改后满足需求的完整代码
# 初始化基础参数
base_num = 0
full_expr = str(base_num)
is_first_input = True

while (a := input("Enter operatornumber like -9;")) != "-0":
    # 基础输入格式校验:长度≥2、运算符后为合法数字
    if len(a) < 2 or not a[1:].lstrip('-').isdigit():
        print("Invalid input, try again.")
        continue
    # 运算符校验:区分首次/非首次输入规则
    current_op = a[0]
    if is_first_input:
        if current_op not in "+-":
            print("First input only allows + or -, try again.")
            continue
        is_first_input = False
    else:
        if current_op not in "+-*/":
            print("Invalid operator, try again.")
            continue
    # 合法输入拼入完整表达式
    full_expr += a

# 统一运算后输出结果
print(eval(full_expr))
实现逻辑说明
  • 需求1(首次输入仅允许+-):
    新增is_first_input标记位,第一次输入时限制运算符只能为+或-,校验通过后将标记位设为False,后续输入即可正常支持*//运算符。
  • 需求2(拼接所有输入后统一运算):
    新增full_expr字符串变量,初始值为基础运算值0的字符串格式,每次用户输入合法后就将输入内容拼接到该变量中,用户输入结束符-0退出循环后,直接对拼接完成的完整表达式执行运算即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:18:00