鱼C论坛

 找回密码
 立即注册
查看: 2027|回复: 5

[已解决]005课后题疑惑求助,先谢大神!

[复制链接]
发表于 2020-4-23 16:29:45 | 显示全部楼层 |阅读模式

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

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

x
判断是否为闰年的那道题
我的程序这样写:
year=input('请输入一个年份,判断是否为闰年:')
while type(year,int)!=true:
        print('输入不合法,')
        year=input('请重新输入:')
a=year/400
b=year/4
c=year/100
print(year,end='')
if type(a,int)==true:
                   print('年是闰年')
else:
    print('年是闰年')
    if type(b,int)==true and  type(c,int)!=true:
           print('年是闰年')
    else:
         print('年不是闰年')
结果就是出错,参考答案用的事s.isdigit,判断是否全为数字,我用type()判断类型为什么就不可以啊
还有个问题时比如while和if后面的条件,如果只是判断真和假,像type这样出结果的,还有像我写的这样加一个判断语句么,直接while type(a,int),是真就继续执行?还是要这样while type(a,int)==true?

初学小甲鱼的课,问得太基础了,烦劳大神们不吝赐教
最佳答案
2020-4-23 16:32:19
1,input接收的永远是字符串。
2,while type(a, int)就好。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-23 16:32:19 | 显示全部楼层    本楼为最佳答案   
1,input接收的永远是字符串。
2,while type(a, int)就好。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-23 16:45:03 | 显示全部楼层
qiuyouzhi 发表于 2020-4-23 16:32
1,input接收的永远是字符串。
2,while type(a, int)就好。

谢谢大神
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-23 20:14:00 | 显示全部楼层
qiuyouzhi 发表于 2020-4-23 16:32
1,input接收的永远是字符串。
2,while type(a, int)就好。

大神,再追问一个问题:type(5)是可以返回<class 'int'>,返回结果的这个字符不能直接和int比较是么,如果希望比较结果是否为某个类型,正确地该怎么做啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-23 20:18:14 | 显示全部楼层
Lucky.Jobling 发表于 2020-4-23 20:14
大神,再追问一个问题:type(5)是可以返回,返回结果的这个字符不能直接和int比较是么,如果希望比较结果 ...

isinstance
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-23 20:27:17 | 显示全部楼层
python初学者,上面的代码写得明显错误了。

首先type()识别的是括号内字符的类型,返回应该是<class '字符类型(int/str/float等等)'>,返回的是个字符串
比较某个字符串是不是某个类型,用函数isinstance(a,z字符类型如int),返回结果是true或false

让大家见笑了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 22:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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