QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

VIP至尊会员

Rank: 15Rank: 15Rank: 15

积分
26
查看: 185|回复: 16

[已解决]关于零基础005讲动动手1的疑问

[复制链接]
最佳答案
1 
累计签到:4 天
连续签到:1 天
you2244687 发表于 2018-6-7 23:23:59 18516 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

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

x
temp = input('请输入一个年份:')
while not temp.isdigit():                #.isdigit()这个模块具体是怎么用的?小甲鱼没讲好迷糊。。
    temp = input("抱歉,您的输入有误,请输入一个整数:")#加temp=...是什么用法?为什么当输入非整数时temp可以跳出循环?
year = int(temp)
if (year/400 == int(year/400)) and (year/100 == int(year/100)):
    print(temp + ' 是闰年!')
else:
    if (year/4 == int(year/4)) and (year/100 != int(year/100)):
        print(temp + ' 是闰年!')
    else:
        print(temp + ' 不是闰年!')

两个问题在上面
另外问一下发帖怎么发代码?这样好乱
谢谢解答的大佬们!!
最佳答案
2018-6-8 00:18:46
也是新手上路,希望一同进步
temp.isdigit 的意思就是判断 temp 是否只由纯数字组成
如果是的话,返回一个 True ,反之返回一个 False
这里如果输如的不是纯数字的话,返回一个False,加入not后变成True,是while语句继续循环
temp = input() 则是让用户重新输入年份,input后面括号里的内容是可以打印出来的
而且 只有当输入为整数时才会跳出这个循环
至于输入代码嘛,你点开高级模式,@旁边有个<>标志,就是输入代码的
楼层
跳转到指定楼层
最佳答案
1 
累计签到:11 天
连续签到:3 天
CG_noob 发表于 2018-6-8 00:18:46 | 显示全部楼层    本楼为最佳答案   
也是新手上路,希望一同进步
temp.isdigit 的意思就是判断 temp 是否只由纯数字组成
如果是的话,返回一个 True ,反之返回一个 False
这里如果输如的不是纯数字的话,返回一个False,加入not后变成True,是while语句继续循环
temp = input() 则是让用户重新输入年份,input后面括号里的内容是可以打印出来的
而且 只有当输入为整数时才会跳出这个循环
至于输入代码嘛,你点开高级模式,@旁边有个<>标志,就是输入代码的

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
you2244687 + 1 + 1 + 1

查看全部评分

最佳答案
4 
累计签到:38 天
连续签到:18 天
程序员的救赎 发表于 2018-6-8 10:03:17 | 显示全部楼层

回帖奖励 +3 鱼币

you2244687 发表于 2018-6-8 09:46
谢谢!!第二个问题还是不懂额,不是纯数字while语句继续循环的话,input的内容为什么只显示了一次?如果 ...

输入为纯数字的话,while不执行。输入为非纯数字,就会执行循环体的内容(你这里的循环体是:一直提示输入,直到输入数字为止)。

评分

参与人数 1荣誉 +2 贡献 +2 收起 理由
you2244687 + 2 + 2 谢谢

查看全部评分

最佳答案
1 
累计签到:4 天
连续签到:1 天
you2244687  楼主| 发表于 2018-6-7 23:39:10 | 显示全部楼层
没有大佬吗
最佳答案
1 
累计签到:4 天
连续签到:1 天
you2244687  楼主| 发表于 2018-6-8 00:09:19 From FishC Mobile | 显示全部楼层
有时候怀疑我学的是不是旧版的。。好多课后作业要很长时间自己理解才能弄懂
最佳答案
1 
累计签到:4 天
连续签到:1 天
you2244687  楼主| 发表于 2018-6-8 00:18:07 From FishC Mobile | 显示全部楼层
为什么小甲鱼不把课后作业的知识点解释下啊,晕
最佳答案
2 
累计签到:102 天
连续签到:2 天
皮林重甲 发表于 2018-6-8 07:45:39 | 显示全部楼层
评论不了
最佳答案
1 
累计签到:4 天
连续签到:1 天
you2244687  楼主| 发表于 2018-6-8 09:46:52 | 显示全部楼层
CG_noob 发表于 2018-6-8 00:18
也是新手上路,希望一同进步
temp.isdigit 的意思就是判断 temp 是否只由纯数字组成
如果是的话,返回一 ...

谢谢!!第二个问题还是不懂额,不是纯数字while语句继续循环的话,input的内容为什么只显示了一次?如果把temp = input()改成print('')它就会无限打印print的内容直到C+L强制中止循环。
最佳答案
1 
累计签到:34 天
连续签到:7 天
学学看看 发表于 2018-6-8 10:11:38 | 显示全部楼层

回帖奖励 +3 鱼币

因为判断全部是不是数字啊?小数中包含小数点
>>> abc ="000123213"
>>> abc.isdigit()
True
>>> abc = 1.234
>>> abc="1.234000"
>>> abc.isdigit()
False
最佳答案
0 
累计签到:6 天
连续签到:1 天
hdfhdf 发表于 2018-6-8 10:18:44 From FishC Mobile | 显示全部楼层

回帖奖励 +3 鱼币

为什么发不了贴
最佳答案
1 
累计签到:4 天
连续签到:1 天
you2244687  楼主| 发表于 2018-6-8 10:44:34 | 显示全部楼层
程序员的救赎 发表于 2018-6-8 10:03
输入为纯数字的话,while不执行。输入为非纯数字,就会执行循环体的内容(你这里的循环体是:一直提示输 ...

好像弄懂了,它是一直循环,而int()函数本身要输入,所以必须输入再执行循环。这样就不会像print那样会一直重复显示。我混淆了temp和print。谢谢谢谢!
最佳答案
0 
累计签到:39 天
连续签到:1 天
ycll1234 发表于 2018-6-8 18:06:33 | 显示全部楼层
while 的循环啊  
最佳答案
0 
累计签到:11 天
连续签到:10 天
xn360906 发表于 2018-6-9 08:18:43 | 显示全部楼层
学学看看 发表于 2018-6-8 10:11
因为判断全部是不是数字啊?小数中包含小数点
>>> abc ="000123213"
>>> abc.isdigit()

.isdigit() 就是判断呗? 纯数字为True 反之False  是这意思吗?
最佳答案
2 
累计签到:112 天
连续签到:1 天
段坤11 发表于 2018-6-9 10:09:33 | 显示全部楼层

回帖奖励 +3 鱼币

输入为纯数字的话,while不执行。输入为非纯数字
最佳答案
1 
累计签到:23 天
连续签到:19 天
牧马村人 发表于 6 天前 | 显示全部楼层

回帖奖励 +3 鱼币

我看到第五课 就突然失去了方向      课后题不会做了  
最佳答案
0 
累计签到:4 天
连续签到:1 天
邹普凡 发表于 6 天前 | 显示全部楼层

回帖奖励 +3 鱼币

输入为纯数字的话,while不执行
最佳答案
0 
累计签到:307 天
连续签到:3 天
roluce 发表于 4 天前 | 显示全部楼层

回帖奖励 +3 鱼币

好多课后作业要很长时间自己理解才能弄懂

发表回复

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

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /1 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.3 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-6-20 15:58

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