在python-turtle图形中打开文件

2024-06-01 02:39:52 发布

您现在位置:Python中文网/ 问答频道 /正文

import turtle
t=turtle.Turtle()
wn=turtle.Screen()
wn.setworldcoordinates(-300,-300,300,300)



directions = {             #dictionary of directions given in file.
'up': turtle.up,
'down': turtle.down
}


with open('dino.txt', 'r') as dino:
    for line in dino:
    line, pixel = line.split()       #split line into two different directions.

    if line in directions:#runs if within directions.
        directions[line](pixel)
    else:
        raise()             #raises error if not within directions.

我把这个文件命名为恐龙.txt“这里面有方向,应该可以在Python龟的图形中找到恐龙。然而,我在实现一个读取文件并在turtle图形中跟踪图像的代码时遇到了很多困难。我在上面写的代码打开了turtle图形页面,但没有跟踪到任何内容。我希望这里的人能帮助我,或者指出如何从阅读文本文件中准确地实现python中的turtle图形设计。感谢您的帮助/反馈。在

以下是文件内容“恐龙.txt“:

^{pr2}$

Tags: 文件intxt图形iflinedownsplit
1条回答
网友
1楼 · 发布于 2024-06-01 02:39:52

这种逻辑是错误的:

line, pixel = line.split()

如果数据显示在您的问题编辑版本中,请考虑:

^{pr2}$

只有两种情况,要么列表数据的长度是1,这意味着你在data[0]中有一个向上或向下的方向,要么列表数据的长度是2,这意味着你有goto()的参数(在你第一次将这两个字符串转换成整数之后)。就这样。在

如果数据是更自由的形式,如您的原始帖子所示,那么您需要一次处理一个令牌数据。提取一个数据项,并通过try子句下的int()进行转换。如果成功,则将下一个数据项作为int读取,并使用这两者执行goto(),否则将当前数据项视为except子句中的方向,因为它显然不是int

要检查的错误包括:数字不能正确转换为整数;directions字典中找不到方向。在

要考虑的其他事项:将directions键改为大写,以匹配文件中的数据,或者自己显式地控制大小写;如果这样使用setworldcoordinates(),则可以使用wn.setup(size, size)倾斜图像的纵横比,使窗口从(无论大小)开始;你的最大虚拟坐标300低于你的数据:385。在

enter image description here

相关问题 更多 >