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

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

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

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

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

while True:
    try:
        user_str = input('请输入一个字符串:')
        n = int(user_str)
        if n>0:
            print(n)
            break
    except:
        pass