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()