python补充,拉下个问题抱歉
temp = input('请输入一个年份:')
while not temp.isdigit():
temp = input('你的输入有误,请重新输入一个整数:')
year = int(temp)
if year/400 == int(year/400):
print(temp + '是闰年。')
else:
print(temp + '不是闰年。')
while not temp.isdigit():是什么意思纠求解 temp 是 str 类型 , 有 isdigit 函数判断字符串中是否全是数字 , 是就返回 True , 不是就 False
所以 not temp.isdigit() 就是如果字符串不是纯数字的(输入不合法) 就一直让输入 , 而不会进入判断程序 本帖最后由 一点点儿 于 2022-8-10 17:29 编辑
就是当temp不是仅由数字构成时进入循环
not temp.isdigit()的意思是只要输入不是整数就进入循环 本帖最后由 jackz007 于 2022-8-10 17:29 编辑
while temp.isdigit()
这个可以看懂?意思是,如果字符串 temp 的内容完全由数字字符构成,那么,循环条件就成立。
当字符串 temp 的内容完全由数字字符构成时, temp.isdigit() 的逻辑值就是 True,而 not temp.isdigit() 是逻辑值取反,相同的情况下,表达式的值为 False。
所以,表达式
while not temp.isdigit()
代表的意思是,如果字符串 temp 的内容不完全由数字字符构成(包含有非数字字符),那么,循环条件就成立。
页:
[1]