这段代码有什么问题:n = 10((n/3)).is_integer()我不明白为什么我不能设置n =任何数字并检查它是否是整数。谢谢你的帮助!python 2.7.4错误:Traceback (most recent call last): File "/home/userh/Arbeitsfläche/übung.py", line 2, in <module> print ((n/3)).is_integer()AttributeError: 'int' object has no attribute 'is_integer'
4 回答

慕尼黑8549860
TA贡献1818条经验 获得超11个赞
出现此错误的原因是因为您使用整数除法将整数10除以3,结果得到int实例形式的整数3 。然后,您尝试is_integer()在该结果上调用该方法,但是该方法在float类中而不是在int类中,就像错误消息所指出的那样。
一个快速的解决方案是更改代码并除以除法,3.0否则3将导致浮点除法,并为您提供一个float实例,您可以is_integer()像尝试尝试的那样在该实例上调用该方法。做这个:
n = 10
((n/3.0)).is_integer()

翻阅古今
TA贡献1780条经验 获得超5个赞
您正在使用Python 2.7。除非您使用from __future__ import division
,否则将两个整数相除将返回您和integer。is_integer
仅存在于中float
,因此出现了您的错误。
添加回答
举报
0/150
提交
取消