1.字典型数据格式要求“{}”结合“:”,列表型数据格式要求“[]”,只有列表型是有序的。
2.单击【考生文件夹】,打开程序文件【py202-1】。
3.【open】函数格式:open("文件名",打开方式),其中文件名要加双引号,当省略打开方式时,会以默认模式r打开。
4.模式r与模式rb都是以只读方式打开文件,但模式rb以二进制格式打开文件。
5.模式r+打开一个文件用于读写,模式rb+以二进制格式打开文件用于读写,模式w打开一个文件只用于写入,模式wb以二进制格式打开文件只用于写,模式w+打开一个文件用于读写,与模式r+不同的是w+会进行一个覆盖。
6.函数file.readline():读取文件里的一行,file.readlines([size]):读取文件里所有的内容,for line in f: print line:从f里面把所有行读取出来。
7.函数f.write("hello\n"):在文件里写入 hello后换行。
8.函数f.seek(偏移量,[起始位置]):用来移动文件指针,其中起始位置:0表示文件头,1表示当前位置,2表示文件尾,函数f.close() 关闭文件。
9.使用split字符分割后结果是一个列表型数据。
10.count()方法用于统计某字符出现的次数。
11.字典 get()函数,在字典型数据里面要获取某个键对应的值要使用get方法,当字典型数据里没有想要查询的键时可以使用默认值的方法。
12.list()方法用于将数据转变为列表型数据,在将a转换为列表后,a此时还是一个副本,需要使用a=list(a)将其转换为列表型数据,转换字典型时需要使用list(dict.item())。
13.函数sort用于排序,列表型数据才可以进行排序,a.sort(reverse=False)为升序排序函数默认为降序排序,a.sort(reverse=True)为降序排序。
14.可以使用固定语句 A=lambda x;x+1 def A(x); return x+1,对字典型数据进行排序。
15.使用f=open("name.txt")打开文件,使用语句names=f.readlines()将文件里的所有的行全部读入到变量names中,使用同样方法打开vote.txt文件并读取到变量votes中。
16.使用语句for vote in votes:将字符串votes每一行的数据都读出来,ls=vote.split()进行分割,分割后数据会变成列表型数据,if len(ls)=1:进行判断是否符合条件,当等于1时符合条件,当等于2时不符合条件,for name is names: if name.count(ls[0])==1: n=n+1 d[ls[0]]=d.get(ls[0],0)+1 统计每个人的有效票数,print("有效票数{},format(n)")输出。
17.解题思路:(1), 把两个文件中内容,存储到字符串变量中。对应代码:f=open("name.txt") names=f.readlines() (2),判断投票文档中的投票是否有效。逐行对投票的结果进行读取读取后,进行划分变量就变成列表型数据,再利用len函数进行判断。对应代码:for vote in votes: ls=vote.split() if len(ls)=1: (3),通过判断名字出现的次数为1,计为有效票。对应代码:for name is names: if name.count(ls[0])==1: n=n+1 d[ls[0]]=d.get(ls[0],0)+1 。
18.问题二:前半段的程序与问题一的程序相同,不同处使用语句bj=list(d.items()),把字典型数据转换为列表型数据,bj.sort(key=lambda x:x[1],reverse=True)降序排序,name,score=bj[0] 元祖bj[0]第一个数值传递给name第二个数值传递给score,print("当选班长的同学为:{},票数为:{}".format(name,score))输出。