我有代码:
a = int(input("Type a integer:"))
temp = []
while a != 1:
---> for i in range(2, a):
if a % i == 0:
temp.append(i)
a = a / i
break
print(temp)
我输入了60,然后它给出了错误: TypeError:'float'对象不能解释为整数。
但是,我查了一下:
a = int(input("Type a integer"))
type(a)
它显示a的类型是int。
如果是这样,浮动类型来自哪里?
答案 0 :(得分:0)
当你用数字除以它时,它变成一个浮点数,你可以通过以下方法将它返回到整数:
a = int(a)
之后
a = a/i
或者:
a = a//i
答案 1 :(得分:0)
浮动来自使用浮动分区a / i。要获得int使用整数除法a // i
答案 2 :(得分:0)
当您将a
除以i
时,经过这么多次迭代后它变为十进制数。如果你从60开始,那么操作将如下:
a = 60 / 2 (=30)
a = 30 / 3 (=10)
a = 10 / 4 (=2.5)
现在,我们可以看到a
在你告诉它是一个整数时试图成为一个浮点数。