파이썬 터틀 프로그램 (고수님들 도와주세요 ㅠㅠ)

파이썬 터틀 프로그램 (고수님들 도와주세요 ㅠㅠ)

알려주신 코드에서 TypeError: 'float' object cannot be interpreted as an integer 오류가 발생하는 원인은 turtlesize() 메서드에 전달 되는 인자가 정수(integer)가 아닌 실수(float)이기 때문입니다. tSize는 random.randrange(1, 3)를 통해 1 또는 2의 정수 값을 가지지만, playerTurtles 리스트에 저장될 때 실수로 변환될 수 있습니다.

다음은 수정된 코드입니다.

​

import turtle

import random

​

myTurtle, tX, tY, tColor, tSize, tShape = [None]*6

​

shapeList=[]

playerTurtles=[]

swidth, sheight = 500, 500

​

if __name__ == "__main__":

turtle.title('거북이 리스트 활용')

turtle.setup(width = swidth +50, height = sheight +50)

turtle.screensize(swidth, sheight)

​

shapeList= turtle.getshapes()

for i in range(0, 99):

random.shuffle(shapeList)

myTurtle = turtle.Turtle(shapeList[0])

tX=random.randrange(-swidth / 2, swidth / 2)

tY=random.randrange(-swidth/2, swidth/2)

r=random.random(); g=random.random(); b=random.random()

tSize=random.randrange(1, 3)

playerTurtles.append([myTurtle, tX, tY, tSize, r, g, b])

for tList in playerTurtles:

myTurtle = tList[0]

myTurtle.color((tList[4], tList[5], tList[6]))

myTurtle.pencolor((tList[4], tList[5], tList[6]))

myTurtle.turtlesize(int(tList[3])) # tList[3] 값을 정수로 변환

myTurtle.goto(tList[1], tList[2])

​

turtle.done()

​

​

  • myTurtle.turtlesizeint(tList<aclass="snsn−−markedtooltip−trigger"data−id="15−2"href="undefined"target="blank"aria−label="출처새창">3</a>

  • int(tList<aclass="snsn−−markedtooltip−trigger"data−id="15−2"href="undefined"target="b

  • ​

  • lank"aria−label="출처새창">3</a>): tList 값을 int() 함수를 사용하여 명시적으로 정수로 변환했습니다. 이렇게 하면 turtlesize() 메서드에 항상 정수 값이 전달되어 오류를 방지할 수 있습니다.

  • ​

  • 좋은 결과 있으시길 응원!

광고 [X]를 누르면 내용이 해제됩니다

AI 분석 및 채팅

3/3
시스템 리소스 로딩 중... 0%

여기를 클릭하면 빠른 로딩(가속)이 가능합니다.