鱼C论坛

 找回密码
 立即注册
查看: 2925|回复: 4

[已解决]python补充,拉下个问题抱歉

[复制链接]
发表于 2022-8-10 17:14:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

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():是什么意思纠求解
最佳答案
2022-8-10 17:25:47
本帖最后由 jackz007 于 2022-8-10 17:29 编辑
while temp.isdigit()
        这个可以看懂?意思是,如果字符串 temp 的内容完全由数字字符构成,那么,循环条件就成立。

        当字符串 temp 的内容完全由数字字符构成时, temp.isdigit() 的逻辑值就是 True,而 not temp.isdigit() 是逻辑值取反,相同的情况下,表达式的值为 False。
        所以,表达式
while not temp.isdigit()
        代表的意思是,如果字符串 temp 的内容完全由数字字符构成(包含有非数字字符),那么,循环条件就成立。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-10 17:18:24 | 显示全部楼层
temp 是 str 类型 , 有 isdigit 函数判断字符串中是否全是数字 , 是就返回 True , 不是就 False
所以 not temp.isdigit() 就是如果字符串不是纯数字的(输入不合法) 就一直让输入 , 而不会进入判断程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-10 17:18:49 | 显示全部楼层
本帖最后由 一点点儿 于 2022-8-10 17:29 编辑

就是当temp不是仅由数字构成时进入循环
                                            
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-10 17:23:03 | 显示全部楼层
not temp.isdigit()的意思是只要输入不是整数就进入循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-8-10 17:25:47 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2022-8-10 17:29 编辑
while temp.isdigit()
        这个可以看懂?意思是,如果字符串 temp 的内容完全由数字字符构成,那么,循环条件就成立。

        当字符串 temp 的内容完全由数字字符构成时, temp.isdigit() 的逻辑值就是 True,而 not temp.isdigit() 是逻辑值取反,相同的情况下,表达式的值为 False。
        所以,表达式
while not temp.isdigit()
        代表的意思是,如果字符串 temp 的内容完全由数字字符构成(包含有非数字字符),那么,循环条件就成立。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 09:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表