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

Python如何让try块同时接收int输入和'exit'等指定退出字符串

实现思路

你需要先保存用户输入的原始字符串,不要直接做int转换,优先判断是否为退出指令,再做int类型校验,调整逻辑如下:

  • 先获取用户输入的原始字符串存入变量
  • 先校验原始字符串是否为exit,匹配则直接终止程序
  • 若不是退出指令,再尝试将原始字符串转换为int类型,捕获转换异常提示非法输入
代码实现

单次输入版本

import sys

try:
    raw_inp = input('Int: ').strip()
    # 先判断是否为退出指令
    if raw_inp == 'exit':
        print("退出程序")
        sys.exit()
    # 再尝试转int
    inp = int(raw_inp)
    print(f"输入的合法整数为:{inp}")
except ValueError:
    print('Not an int.')

循环输入版本(反复要求输入直到触发退出/拿到合法整数)

import sys

while True:
    try:
        raw_inp = input('Int: ').strip()
        if raw_inp == 'exit':
            print("退出程序")
            sys.exit()
        inp = int(raw_inp)
        print(f"输入的合法整数为:{inp}")
        # 拿到合法整数后要跳出循环可取消下面注释
        # break
    except ValueError:
        print('Not an int.')
补充说明
  • 如果需要支持不区分大小写的退出指令(比如输入Exit/EXIT也能退出),可以把判断条件改为if raw_inp.lower() == 'exit':
  • 不需要退出整个程序的场景,也可以把sys.exit()替换为对应业务的跳出逻辑(比如循环内直接用break跳出即可)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:48:03