14 实例:自动轨迹绘制
需求:根据脚本绘制图形
1.问题分析
2."自动轨迹绘制"实例讲解
2.1 基本思路
2.2 数据接口定义
常用颜色RGB表
R | G | B | 颜色 |
0 | 0 | 0 | 黑色 |
0 | 0 | 1 | 蓝色 |
0 | 1 | 0 | 绿色 |
0 | 1 | 1 | 青色 |
1 | 0 | 0 | 红色 |
1 |
0 | 1 |
深红色 |
1 | 1 | 0 | 黄色 |
1 | 1 | 1 | 白色 |
2.3 文件接口代码
Python:zip() 函数
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
语法:
zip([iterable, ...])
参数说明:
- iterabl -- 一个或多个迭代器;
返回值:返回元组列表
x_s = [1, 2, 3] y_s = [3, 2, 1] result=list()for x,y in zip(x_s,y_s):result.append(x+y) print(result)
>>> a = [1,2,3] >>> b = [4,5,6] >>> c = [4,5,6,7,8] >>> zipped = zip(a,b) # 打包为元组的列表 [(1, 4), (2, 5), (3, 6)] >>> zip(a,c) # 元素个数与最短的列表一致 [(1, 4), (2, 5), (3, 6)] >>> zip(*zipped) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式 [(1, 2, 3), (4, 5, 6)]
python:map的使用方法
1.map()
map(function, args)
2.内置函数str():
str()是python的内置函数,这个例子是把列表/元组/字符串的每个元素变成了str类型,然后以列表的形式返回。
a=list(map(str,'python')) print(a)
3.1.自定义函数
def add(x,y):return x+y list1=[1,2,3] list2=[4,5,6] a=list(map(add,list1,list2)) print(a)
3.2.自定义函数(如果三个列表长度不一样):
def add(x,y):return x,y list1 = [1,2,3] list2 = [1,2,3,4] a = list(map(add, list1, list2)) print(a)
4.map()函数对序列
args
中的每个值进行相同的function
操作,最终得到一个结果序列。
map()
可以让我们使用一种简单且优雅得多的方式实现。x_s = [1, 2, 3] y_s = [3, 2, 1]#对序列x_s和y_s中的对应元素进行相加 a=map(lambda x,y:x+y,x_s,y_s)
5.map()
函数生成的结果序列不会把全部结果显示出来,要想获得结果序列,可以使用list()方法。6
.map()
不仅可用于一列表的输入,甚至可以用于一列表的函数。x_s = [1, 2, 3] y_s = [3, 2, 1]#对序列x_s和y_s中的对应元素进行相加 a=map(lambda x,y:x+y,x_s,y_s) def multiply(x, y):return (x * y)def add(x, y):return (x + y)funcs = [multiply,add]#包含两个函数的列表for x,y in zip(x_s,y_s):value = map(lambda f: f(x, y), funcs)print(list(value))
出现错误:
错误的原因是因为,所创建的data.txt文件多了一行,将这个空白行删掉即就可以得出相应结果。
import turtle as t
#储备
t.title("自动轨迹绘制")
t.setup(800,600,0,0)
t.pencolor("red")
t.pensize(5)
#数据读取
datals=list()
f=open("C:/Users/吉祥瑞/Desktop/python/UNIT 7/data.txt",encoding="UTF-8")
for line in f:#获取的为字符串line=line.replace("\n","")#换行符转换为空字符串,string.replace(old_string,a,new_string)datals.append(list(map(eval,line.split(","))))
f.close()
#自动绘制
for i in range(len(datals)):t.pencolor(datals[i][3],datals[i][4],datals[i][5])t.fd(datals[i][0])if datals[i][1]:t.right(datals[i][2])else:t.left(datals[i][2])
data.txt
300,0,144,1,0,0
300,0,144,0,1,0
300,0,144,0,0,1
300,0,144,1,1,0
300,0,108,0,1,1
184,0,72,1,0,1
184,0,72,0,0,0
184,0,72,0,0,0
184,0,72,0,0,0
184,1,72,1,0,1
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
结果:
3."自动轨迹绘制"举一反三
14 实例:自动轨迹绘制相关推荐
- python画轨迹曲线-python 自动轨迹绘制的实例代码
用到的思维: 自动化思维,数据和功能分开处理,用数据驱动程序自动运行 接口化设计,数据与程序的对接方式要清晰明了 二维数据应用,应用维度组织数据,二维数据最常用 代码 # AutoTrace.py i ...
- python animation 轨迹_Python实例:自动轨迹绘制
1. 问题分析 需求:根据脚本来绘制图形 Python的 turtle 库通过写代码的方式来绘图,现在我们要根据数据来绘制轨迹. 使用数据脚本时自动化最重要的第一步.例如,根据下面的几组数据绘制出的图 ...
- 自动轨迹绘制的python代码_python 自动轨迹绘制的实例代码
python自动绘制轨迹怎么输入数据?#AutoTraceDraw.py import turtle as t t.title("自动轨迹绘制") t.penc自动化思维,数据和功 ...
- Python实现 自动轨迹绘制(嵩天老师)
实例11:自动轨迹绘制 问题分析 -需求:根据脚本来绘制图形 -不是写代码而是写数据绘制轨迹 -数据脚本是自动化最重要的第一步 基本思路 -步骤1:定义数据文件格式(接口) -步骤2:编写程序,根据文 ...
- python自动轨迹绘制_python day 20 自动轨迹绘制
自动轨迹绘制 一.概述 1.自动绘制,大概就是 数据与功能代码 分离.即,在写代码的过程中,变量没有赋值,变量的值存储在文本里,每次只需要修改文本即可绘制不同的图形. 2.数据接口.即,文本中的数据的 ...
- matlab画轨迹的代码,自动轨迹绘制(示例代码)
一.自动轨迹绘制问题分析 1.1 问题分析 自动轨迹绘制 需求:根据脚本来绘制图形 不是代码实现而是读取文件中数据绘制轨迹 数据脚本是自动化最终要的第一步 1.2 自动轨迹绘制 300,0,144,1 ...
- python自动轨迹绘制_Python——自动轨迹绘制
需求:根据脚本来绘制图形 不是写代码而是写数据来绘制轨迹 数据脚本是自动化最重要的第一步 基本思路: 步骤1:定义数据文件格式(接口) 步骤2:编写程序,根据文件接口解析参数绘制图形 步骤3:编制数据 ...
- 基于数据接口文件读取的自动轨迹绘制
自动轨迹绘制 根据脚本来绘制图形,不是写代码而是写数据绘制轨迹 基本思路 定义数据文件格式(接口:程序和数据之间的一种规范) 编写程序,根据文件接口解析参数绘制图形 编制数据文件 数据接口定义 行进距 ...
- python自动轨迹绘制_自动轨道图,轨迹,绘制
需求 根据脚本来绘制图形 不是写代码而是写数据绘制轨迹 数据脚本是自动化的第一步 基本思路 ①定义数据文件格式(接口) 非常具有个性色彩 ②编写程序,根据文件接口解析参数绘制图形 ③编制数据文件 方法 ...
最新文章
- Apache Commons 工具集使用简介
- 英文词频统计预备,组合数据类型练习
- Go支持自定义数据类型:使用type来定义,类似于数据类型的一个别名
- 腾讯牛逼,我酸了!!
- leetcode 278. 第一个错误的版本(二分)
- lichee linux nfs,SPI Flash 系统编译
- linux centos 7.0 安装配置,CentOS7.0安装配置CouchBase
- 【BZOJ3932】任务查询系统,主席树与差分的建树思想
- python爬取天天基金网_天天基金网精选基金组合年度报告20201231
- windows查看端口占用 windows端口占用 查找端口占用程序 强制结束端口占用 查看某个端口被占用的解决方法 如何查看Windows下端口占用情况
- python中的isinstance()使用方法[探索2]
- VALSE学习(三):深度学习梯度讲解
- 自我觉察日志——9.17 (为什么老想买东西?)
- 操作系统:覆盖技术与交换技术
- dbc转excel工具
- 用Javascript实现Blogger/Blogspot的传统模板翻页功能
- 七月算法深度学习笔记4 -- CNN与常用框架
- 【算法设计与分析】1.主定理
- n76e003引脚图_新唐推出N76E003高规格低管脚1T 8051单片机
- 三星s9打电话显示无法连接到服务器,三星手机不能拨打电话解决办法