2024.4.16

所学时间:2小时

代码行数:30

博客园数:1篇

所学知识:今天听了大家的演讲,集思广益了大家对不同问题的分析看法,在一些问题上有着独特的认知, 学习了 很多的新思路。今天还学习了python的谢宾斯基三角型字符分形图形输出

import turtle

def draw_sierpinski_triangle(turtle, order, size):

    if order == 0:

        for _ in range(3):

            turtle.forward(size)

            turtle.left(120)

    else:

        draw_sierpinski_triangle(turtle, order-1, size/2)

        turtle.forward(size/2)

        draw_sierpinski_triangle(turtle, order-1, size/2)

        turtle.backward(size/2)

        turtle.left(60)

        turtle.forward(size/2)

        turtle.right(60)

        draw_sierpinski_triangle(turtle, order-1, size/2)

        turtle.left(60)

        turtle.backward(size/2)

        turtle.right(60)

def main():

    screen = turtle.Screen()

    screen.setup(width=800, height=800)

    screen.title("Sierpinski Triangle")

    pen = turtle.Turtle()

    pen.speed(0)  

    order = get_order_input()

    pen.penup()

    pen.goto(20, 200)

    pen.pendown()

    pen.right(120)  

    draw_sierpinski_triangle(pen, order, 600)

    pen.hideturtle()

    screen.mainloop()

def get_order_input():

    while True:

        try:

            order = int(input("请输入谢宾斯基三角形的层数 (1-9): "))

            if 1 <= order <= 9:

                return order

            else:

                print("Please enter a number between 1 and 9!")

        except ValueError:

            print("输入错误,请输入1到9之间的数字")

if _name_ == "_main_":

    main()

 

 

 
posted @ 2024-04-16 12:58  kuku睡  阅读(28)  评论(0)    收藏  举报