本文共 2913 字,大约阅读时间需要 9 分钟。
编写程序,根据文件data.txt中的数据,使用turtle库来动态绘制图形路径。
import turtledef main(): # 设置窗口信息 turtle.setup(1024,768,0,0) # 设置窗体大小及位置 # 4个参数中后两个可选(后两个省略时默认窗口在屏幕正中心) # setup()不是必须的 # 设置画笔 turtle.pencolor("red") # 画笔颜色 turtle.width(5) # 画笔粗细 turtle.speed(5) # 画笔移动速度 # 读取文件 result=[] file = open("data.txt", "r") # r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式 for line in file: # 将文件中的数据通过迭代送到数组中 result.append(list(map(float, line.split(',')))) # map的第一个参数接收一个函数名,第二个参数接收一个可迭代对象 print(result) #动态绘制 for i in range(len(result)) : turtle.pencolor(result[i][3],result[i][4],result[i][5]) #画笔颜色 turtle.forward(result[i][0]) #画笔向前前进 if result[i][1]: turtle.rt(result[i][2]) #画笔向右旋转 else: turtle.lt(result[i][2]) #画笔向左旋转 turtle.goto(0,0) #从当前点去到0,0if __name__ == '__main__': main()编写程序将电子邮件EmailAddressBook.txt和电话薄TeleAddressBook.txt合并为一个完整的通讯录AddressBook.txt
给出程序代码如下。
# 利用字符串和列表将两个通讯录文本合并为一个文本def main(): file1=open('TeleAddressBook.txt', 'r') # r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式 file2=open('EmailAddressBook.txt', 'r') # r:以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式 file1.readline() # 跳过第一行 file2.readline() # 跳过第一行 lines1 = file1.readlines() # readlines()方法用于读取所有行(直到结束符 EOF)并返回列表, lines2 = file2.readlines() # readlines()方法用于读取所有行(直到结束符 EOF)并返回列表, list1_name = [] # 用作 存储 list1_tele = [] # 用作 存储 list2_name = [] # 用作 存储 list2_email = [] # 用作 存储 for line in lines1: # 获取第一个文本中的姓名和电话信息 elements = line.split() list1_name.append(elements[0]) list1_tele.append(elements[1]) for line in lines2: # 获取第二个文本中的姓名和邮件信息 elements = line.split() list2_name.append(elements[0]) list2_email.append(elements[1]) ### 开始处理 ### lines = [] lines.append('姓名\t 电话 \t 邮箱\n') # 按索引方式遍历姓名列表1 for i in range(len(list1_name)): s='' if list1_name[i] in list2_name: j = list2_name.index(list1_name[i]) # 找到姓名列表1对应列表2中的姓名 s = '\t'.join([list1_name[i], list1_tele[i], list2_email[j]]) # join方法用于将序列中的元素以指定的字符连接生成一个新的字符串。 s += '\n' else: s = '\t'.join([list1_name[i], list1_tele[i], ' ----- ']) # join方法用于将序列中的元素以指定的字符连接生成一个新的字符串。 lines.append(s) # 处理姓名列表2中剩余的姓名 for i in range(len(list2_name)): s='' if list2_name[i] not in list1_name: s = '\t'.join([list2_name[i], ' ----- ', list2_email[i]]) # join方法用于将序列中的元素以指定的字符连接生成一个新的字符串。 s += '\n' lines.append(s) file3 = open('AddressBook.txt', 'w') # w:打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。 # 如果该文件不存在,创建新文件。 file3.writelines(lines) # 将之前得到的结果写入 file3.close() # 关闭文件 file1.close() # 关闭文件 file2.close() # 关闭文件 print("地址簿合并完成!")if __name__ == "__main__": main()
转载地址:http://txyki.baihongyu.com/