python turtle如何写字_如何让python turtle根据文本fi移动

这篇博客介绍如何使用Python的turtle模块进行图形绘制,包括前进、左转、右转和后退等基本操作,并实现了保存、清除和加载图形的功能。用户可以选择保存当前图形,清除画布,或者加载已保存的图形进行编辑。
摘要由CSDN通过智能技术生成

加载会引发几个问题:“是否希望能够加载现有图形以增强它?”,“在加载其他图形之前,是否要给用户保存当前图形的机会?”,“是否应在加载前清除绘图?”。以下解决方案尝试允许所有这些可能性,允许用户在另一个图形上保存、清除和/或加载一个图形,而另一个图形可以保存为更复杂的图形:from turtle import Turtle, Screen

ANGLE = 90

DISTANCE = 10

def k1():

yertle.forward(DISTANCE)

moves.append(1)

def k2():

yertle.left(ANGLE)

moves.append(2)

def k3():

yertle.right(ANGLE)

moves.append(3)

def k4():

yertle.backward(DISTANCE)

moves.append(4)

COMMANDS = {1: k1, 2: k2, 3: k3, 4: k4}

def save():

if moves and input('Would you like to save this drawing? (y/n) ').lower().startswith('y'):

name = input('What would you like to call your drawing? ')

with open(name, 'w') as my_file:

print(*moves, sep=', ', file=my_file)

print('Drawing has been saved as:', name)

def clear():

global moves

save()

if moves and input('Would you like to erase this drawing? (y/n) ').lower().startswith('y'):

moves = []

yertle.reset()

def load():

clear()

if input('Would you like to load a drawing? (y/n) ').lower().startswith('y'):

name = input('What would drawing would you like to load? ')

with open(name) as my_file:

commands = [int(digit) for digit in my_file.readline().split(',')]

for command in commands:

if command in COMMANDS:

COMMANDS[command]()

print('Drawing has been loaded from:', name)

screen = Screen()

screen.setup(500, 500)

screen.title('Turtle Art')

moves = []

yertle = Turtle('turtle')

screen.onkey(k1, 'Up') # move forwards

screen.onkey(k2, 'Left') # turn left

screen.onkey(k3, 'Right') # turn right

screen.onkey(k4, 'Down') # move backwards

screen.onkey(clear, 'c') # clear page

screen.onkey(save, 'p') # save page

screen.onkey(load, 'l') # load page

screen.listen()

screen.mainloop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值