귀속 함수: 한노타 실현 & 코헨 눈꽃 그리기 & 코헨 사각형

12534 단어 파이썬 베이스
오늘 공부는 점차 제자리로 돌아왔다. 나에게 있어서는 아직 약간의 난이도가 있다. 특히 한노타 덩어리는 오랫동안 생각한 후에야 비로소 자신을 돌렸다.반갑습니다. 파이썬을 새로 배운 친구들은 귀착에 대해 잘 모르는 점이 있습니다.

한노타

count=0
def hanoi(n,src,dst,mid):
    global count
    if n==1:
        print("{}:{}->{}".format(1,src,dst))
        count+=1
    else:
        hanoi(n-1,src,mid,dst)
        print("{}:{}->{}".format(n,src,dst))
        count+=1
        hanoi(n-1,mid,dst,src)
hanoi(10,"A","C","B")
print(count)

코헨 눈꽃 그리기


큰 눈송이 보내줄게~
import turtle
turtle.speed(20)#❄ , !
def koch(size,n):# 
    if n==0:
        turtle.fd(size)
    else:
        for angle in [0,60,-120,60]:
            turtle.left(angle)
            koch(size/3,n-1)
def main():
    turtle.setup(600,600)
    turtle.penup()
    turtle.goto(-200,100)
    turtle.pendown()
    turtle.pensize(2)
    turtle.pencolor("purple")
    level=3
    koch(400,level)
    turtle.right(120)
    koch(400,level)
    turtle.right(120)
    koch(400,level)
    turtle.hideturtle()# 
main()

코헨 정사각형


선생님께서 내주신 일거수일투족 숙제, 나는 돌출된 삼각형을 정사각형으로 바꾸었는데, 약간 복자 외곽의 경사스러운 느낌이 든다. 하하하~
import turtle
turtle.speed(20)
def koch(size,n):# 
    if n==0:
        turtle.fd(size)
    else:
        for angle in [0,90,-90,-90,90]:
            turtle.left(angle)
            koch(size/3,n-1)
def main():
    turtle.setup(600,600)
    turtle.penup()
    turtle.goto(-200,100)
    turtle.pendown()
    turtle.pensize(2)
    turtle.pencolor("red")
    level=2
    koch(100,level)
    turtle.right(90)
    koch(100,level)
    turtle.right(90)
    koch(100,level)
    turtle.right(90)
    koch(100,level)
    turtle.hideturtle()# 
main()

좋은 웹페이지 즐겨찾기