1. ホーム
  2. python

[解決済み】range使用時の「TypeError: 'float' object cannot be interpreted as integer」の意味とは?

2022-02-20 10:47:17

質問

なぜ私の変数が使えないのか理解できません。 c .

のコードを使用します。

from turtle import *

speed(0)
hideturtle()
c = 450

def grid(x,y,a):
    seth(0)
    pu()
    goto(x,y)
    pd()
    for i in range(4):
        forward(a)
        rt(90)
    for i in range(c/10):
        seth(0)
        forward(10)
        rt(90)
        forward(c)
        backward(c)
    for i in range(c/10):
        seth(0)
        rt(90)
        forward(10)
        rt(90)
        forward(c)
        backward(c)
    pu()
    goto(a+10,0)
    write("x")
    goto(0,a+10)
    write("y")
    pd()

grid(0,0,c)
grid(-c,0,c)
grid(-c,c,c)
grid(0,c,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

解決方法は?

で。

for i in range(c/10):

結果として浮動小数点が作成されます。これを修正するには、int 型の除算演算子を使用します。

for i in range(c // 10):