().is_integer()无法正常工作

这段代码有什么问题:


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'


摇曳的蔷薇
浏览 279回答 4
4回答

慕尼黑8549860

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

翻阅古今

您正在使用Python 2.7。除非您使用from __future__ import division,否则将两个整数相除将返回您和integer。is_integer仅存在于中float,因此出现了您的错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python