while True:
try:
a = eval(input('请输入一个正整数: '))
if a > 0 and type(a)==int:
print(a)
break
else:
print("请输入正整数")
except:
print("请输入正整数")
分析:
- 这里的
break
需要注意,try...except...
只是个幌子,这里的执行break就是退出了while循环,而不是跳出try...except...
结构。 except
的作用就是如果输入的不是正整数(输入的是字符串或者是负数),使得用户重新输入的作用。- 这道题的细节在于:变量a是使用了处理函数
eval()
,对于正整数:
- a > 0
- 数据类型是整型
- 这道题也是双分支结构。
- 总的来说本题考察的知识点比较多,有双分支结构,while 循环,内置函数的使用:(eval和input的搭配使用),break和continue的理解,以及程序的异常处理。
这里的定义和数学中的概念相似,又别于数学——加入了计算机的思维和价值观。