import turtle
import random

## 전역 변수 선언 부분 ##
myTurtle, tX, tY, tColor, tSize, tShape = [None] * 6
shapeList = []
playerTurtles = [] # 거북이 2차원 리스트
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, 100) :
        random.shuffle(shapeList)
        myTurtle = turtle.Turtle(shapeList[0])
        tX = random.randrange(-swidth / 2, swidth / 2)
        tY = random.randrange(-sheight / 2, sheight / 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((tList[3]))
        myTurtle.goto((tList[1], tList[2]))
    turtle.done()

 

 

DeprecationWarning: non-integer arguments to randrange() have been deprecated since Python 3.10 and will be removed in a subsequent version

 

아마 파이썬 3.10 버전 이상을 쓰는 사람이라면 이런 오류가 뜨며 실행되지 않았을 것이다.

찾아보니 Python 3.10에서 randrange() 함수에 정수가 아닌 인수를 전달하는 것을 더 이상 허용하지 않으며, 향후 Python 버전에서 제거될 예정이라고 한다. 즉, 위 코드에서 실수형 값을 반환하고 있기 때문에 정수형으로 전환해주어야 한다는 뜻이다.

 

그래서 20, 21행 코드를 아래와 같이 수정해야한다.

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

 

 

+ Recent posts