[PYTHON] 내 간단한 파이썬 프로그램이 오류가 계속 : "TypeError : 'float'개체를 정수로 해석 할 수 없습니다"
PYTHON내 간단한 파이썬 프로그램이 오류가 계속 : "TypeError : 'float'개체를 정수로 해석 할 수 없습니다"
나는 왜 내 변수를 사용할 수 없는지 이해하지 못한다. 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
해결법
-
==============================
1.에서:
에서:
for i in range(c/10):
결과적으로 float를 생성합니다.이를 사용하려면 int 나눗셈 연산자를 사용합니다.
for i in range(c // 10):
-
==============================
2.range ()는 정수만 사용할 수 있지만 / 연산자로 나누면 항상 float 값이됩니다.
range ()는 정수만 사용할 수 있지만 / 연산자로 나누면 항상 float 값이됩니다.
>>> 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(int(c / 10)):
// 바닥 나누기 연산자를 사용하십시오.
for i in range(c // 10):
-
==============================
3.아래에 표시된 것처럼 범위는 정수만 지원합니다.
아래에 표시된 것처럼 범위는 정수만 지원합니다.
>>> 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] >>>
그러나 /는 항상 float를 반환하기 때문에 c / 10은 float입니다.
범위에 넣기 전에 c / 10을 정수로 만들어야합니다. 이것은 int에 넣음으로써 가능합니다 :
range(int(c/10))
//를 사용하여 정수를 반환합니다.
range(c//10)
from https://stackoverflow.com/questions/19824721/i-keep-getting-this-error-for-my-simple-python-program-typeerror-float-obje by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] python : NameError : 전역 이름 '...'이 정의되지 않았습니다 [중복] (0) | 2018.10.30 |
---|---|
[PYTHON] Python subprocess.check_output ()에서 예외 출력을 잡는 방법? (0) | 2018.10.30 |
[PYTHON] 파이썬 : 달의 차이 2 datetimes [duplicate] (0) | 2018.10.30 |
[PYTHON] 파이썬 : 객체가 시퀀스인지 확인하십시오. (0) | 2018.10.30 |
[PYTHON] 파이썬 머리, 꼬리 및 텍스트 파일의 줄을 뒤로 읽어 (0) | 2018.10.30 |