|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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,输入其他数为错误的情况
希望各位大佬能帮忙解决这个问题
本帖最后由 松_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型的
|
|