对于我的简单python程序,我经常会遇到这样的错误:“quot;类型错误:';浮动';对象不能解释为整数;
我不明白为什么我不能使用变量对于我的简单python程序,我经常会遇到这样的错误:“quot;类型错误:';浮动';对象不能解释为整数;,python,typeerror,Python,Typeerror,我不明白为什么我不能使用变量c 代码: 我收到以下错误消息: Traceback (most recent call last): File "C:\Users\nick\Desktop\gridv2.py", line 35, in <module> grid(0,0,c) File "C:\Users\nick\Desktop\gridv2.py", line 15, in grid for i in range(c/10): TypeError: 'fl
c
代码:
我收到以下错误消息:
Traceback (most recent call last):
File "C:\Users\nick\Desktop\gridv2.py", line 35, in <module>
grid(0,0,c)
File "C:\Users\nick\Desktop\gridv2.py", line 15, in grid
for i in range(c/10):
TypeError: 'float' object cannot be interpreted as an integer
回溯(最近一次呼叫最后一次):
文件“C:\Users\nick\Desktop\gridv2.py”,第35行,在
网格(0,0,c)
文件“C:\Users\nick\Desktop\gridv2.py”,第15行,网格中
对于范围内的i(c/10):
TypeError:“float”对象不能解释为整数
range()
只能处理整数,但使用/
运算符进行除法始终会产生浮点值:
>>> 450 / 10
45.0
>>> range(450 / 10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'float' object cannot be interpreted as an integer
或者使用/
楼层分割操作符:
for i in range(c // 10):
for i in range(c // 10):
在:
因此,您正在创建一个浮点-要解决此问题,请使用int除法运算符:
for i in range(c // 10):
for i in range(c // 10):
如下所示,
range
仅支持整数:
>>> range(15.0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: range() integer end argument expected, got float.
>>> range(15)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
>>>
或使用,返回一个整数:
range(c//10)
也可以使用np.arange()来解决此问题,而不是使用适用于浮点数的范围:
import numpy as np
for i in np.arange(c/10):
但是15.0
是一个整数。。。
range(c//10)
import numpy as np
for i in np.arange(c/10):