_花. 2022-01-05 23:04 采纳率: 100%
浏览 59
已结题

重复接受用户输入的一个字符串,如果是正整数, 就输出结果,否则一直输入 python

重复接受用户输入的一个字符串,如果是正整数, 就输出结果,否则一直输入

while True:
user_str = eval(input('请输入一个字符串:'))
if type(user_str) == int:
print(user_str)
break

请教各位为啥不对哦~~eval哪里错了么

  • 写回答

1条回答 默认 最新

  • Hann Yang 优质创作者: 编程框架技术领域 2022-01-06 08:16
    关注

    不是要求正整数,还要判断一下正负:

    while True:
        try:
            user_str = input('请输入一个字符串:')
            n = int(user_str)
            if n>0:
                print(n)
                break
        except:
            pass
    
    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月17日
  • 专家已采纳回答 1月9日
  • 请采纳用户回复 1月7日
  • 创建了问题 1月5日