鱼C论坛

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

[已解决]关于用isinstance判断的问题

[复制链接]
发表于 2019-9-7 04:15:13 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Elliet 于 2019-9-7 06:36 编辑

看完小甲鱼的python教学第005讲
求助关于isinstance用来判断输入是否为整数的代码
一开始我的代码如下:
temp = input('请输入一个整数:')
if isinstance(temp,int) == 1:
    print('1')
else:
    print('0')
然后我发现这个代码无论输入输入整数,浮点数,字符串,输出结果都是0,然后我就加上了一行number = int(temp)
尝试利用整形,将输入内容变为int然后再进行判断,代码如下
temp = input('请输入一个整数:')
number = int(temp)
if isinstance(number,int) == 1:
    print('1')
else:
    print('0')

然后发现输入整数得到的是1,输入浮点数或者字符串会错误
求助各位大佬有没有办法能实现利用isinstance来判断是否为整数的代码

目前我认为问题是出在开头temp = input这一行的代码中,因为这一行代码是由用户输入赋值的,所以无论输入什么都认为是一个字符串,所以isinstance(temp,int)的结果都为0
但是我不明白为什么加入number = int(temp)之后,变成输入整数为正常的1,输入其他数为错误的情况

希望各位大佬能帮忙解决这个问题
最佳答案
2019-9-7 08:52:57
本帖最后由 松_HWI3H 于 2019-9-7 08:58 编辑
temp = input('请输入一个整数:')
if temp.isdigit():
    if '.' in temp:
        print('0')
    else:
        print('1')
else:
    print('0')
这样可以做到,int()函数无法转化字符串形式的浮点数      int(str)函数将符合整数的规定的字符串转换成int型的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-7 08:52:57 | 显示全部楼层    本楼为最佳答案   
本帖最后由 松_HWI3H 于 2019-9-7 08:58 编辑
temp = input('请输入一个整数:')
if temp.isdigit():
    if '.' in temp:
        print('0')
    else:
        print('1')
else:
    print('0')
这样可以做到,int()函数无法转化字符串形式的浮点数      int(str)函数将符合整数的规定的字符串转换成int型的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-7 11:50:24 | 显示全部楼层
用 isinstance 不可以,建议这样:
temp = input('请输入一个整数:')
if temp.isdigit():
    print('1')
else:
    print('0')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-9 00:06:32 | 显示全部楼层
zltzlt 发表于 2019-9-7 11:50
用 isinstance 不可以,建议这样:

这个isdigit是什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-9 00:08:12 | 显示全部楼层
松_HWI3H 发表于 2019-9-7 08:52
这样可以做到,int()函数无法转化字符串形式的浮点数      int(str)函数将符合整数的规定的字符串转换成i ...

能不能解释一下 isdigit 是做什么用的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-9 08:40:37 | 显示全部楼层
Python isdigit() 方法检测字符串是否只由数字组成。如果字符串只包含数字则返回 True 否则返回 False。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 21:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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