夜光带你走进python开发 (三十四)**语言
夜光序言:
他踉跄前行时,
清风,
请你温柔一点。
帮他吹开繁乱思绪,陪在他的身边。
他回天乏力时,
霞光,
请你温柔一点。
安抚一个孤独的灵魂,鼓励他在放弃之前,试着再笑一遍。
如果真的尘埃落定,
那么长夜,
请你温柔一点。
施舍他一寸土地,让他能够平静合眼,然后安然长眠。
正文:
#根据数据文件在窗口中动态路径绘制
import turtle
def main():
#设置窗口信息
turtle.title('数据驱动的动态路径绘制')
turtle.setup(800, 600, 0, 0)
#设置画笔
pen = turtle.Turtle()
pen.color("red")
pen.width(5)
pen.shape("turtle")
pen.speed(5)
#读取文件
result=[]
file = open("data.txt","r")
for line in file:
result.append(list(map(float, line.split(','))))
print(result)
#动态绘制
for i in range(len(result)):
pen.color((result[i][3],result[i][4],result[i][5]))
pen.forward(result[i][0])
if result[i][1]:
pen.rt(result[i][2])
else:
pen.lt(result[i][2])
pen.goto(0,0)
if __name__ == '__main__':
main()
编写程序根据文件data.txt中的数据, 使用turtle库来动态绘制图形路径
前进300个像素
0:向左转
1:向右转
转动多少角度
颜色:r,g,b
该问题的IPO模式可以描述为:
输入:数据文件
处理:读取数据文件,并根据数据内容和
要求绘制路径。
输出:构建窗口,并输出图形
程序实现的具体过程为:
(1)使用import命令为程序引入turtle库
(2)设置窗口信息和Turtle画笔:
import turtle
turtle.title('数据驱动的动态路径绘制')
turtle.setup(800, 600, 0, 0)
pen = turtle.Turtle()
pen.color("red")
pen.width(5)
pen.shape("turtle")
pen.speed(80000000)
result = []
(3) 读取数据文件到列表result中。
#夜光:读取文件txt
file = open("data.txt", "r")
for line in file:
result.append(list(map(float, line.split(','))))
print(result)
(4) 根据每一条数据记录进行绘制。
for i in range(len(result)):
pen.color((result[i][3], result[i][4], result[i][5]))
pen.forward(result[i][0])
if result[i][1]:
pen.rt(result[i][2])
else:
pen.lt(result[i][2])
(5) 画笔回到原点
import turtle
turtle.title('数据驱动的动态路径绘制')
turtle.setup(800, 600, 0, 0)
pen = turtle.Turtle()
pen.color("red")
pen.width(5)
pen.shape("turtle")
pen.speed(80000000)
result = []
#夜光:读取文件txt
file = open("data.txt", "r")
for line in file:
result.append(list(map(float, line.split(','))))
print(result)
for i in range(len(result)):
pen.color((result[i][3], result[i][4], result[i][5]))
pen.forward(result[i][0])
if result[i][1]:
pen.rt(result[i][2])
else:
pen.lt(result[i][2])