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

Python如何实现仅接受正整数输入的代码块,添加>0校验逻辑?

Python正整数输入程序修改方案

你现有代码存在两个问题:一是try和except两个分支都加了break,不管输入是否合法都会直接终止循环,无法实现重复校验输入的效果;二是没有对转换后的整数做大于0的判断。

你可以按照以下逻辑修改代码:

  • 移除except代码块中的break,输入非整数内容时不会直接退出,会回到循环开头让用户重新输入
  • 整数转换成功后新增数值大于0的校验,只有符合要求才跳出循环,否则提示错误后继续等待输入

修改后的完整代码如下:

while True:
    number = input('Type an integer positive number: ')
    try:
        number = int(number)
        # 新增正整数校验逻辑
        if number > 0:
            break
        else:
            print('输入错误,请输入大于0的正整数')
    except ValueError:
        print('Value not accepted')

运行逻辑说明:程序会持续循环,直到用户输入合法正整数才会继续执行后续代码。如果输入内容无法转换为整数,会触发ValueError捕获提示错误;如果能转换为整数但数值小于等于0,也会提示错误要求重新输入。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 19:39:00