计算机二级Python试题解读统计文本中

盘输入一组水果名称并以空格分隔,共—行。示例格式如下:

苹果芒果草莓芒果苹果草莓芒果香蕉芒果草莓

统计各类型的数量,从数量多到少的顺序输出类型及对应数量,以英文冒号分隔,每个类型一行。输出结果保存在考生文件夹下,命名为“PY.txt”。输出参考格式如下:

芒果:4草莓:3苹果:2香蕉:1代码模板//考生文件初始代码fo=open("PY.txt","w")txt=input("请输入类型序列:")……d={}……ls=list(d.items())ls.sort(key=lambdax:x[1],reverse=True)#按照数量排序forkinls:fo.write("{}:{}\n".format(k[0],k[1]))

fo.close()

编程思路:

第1步:将存储水果名称的字符串对象转换为列表对象

题目要求用户输入一组水果名称,每个水果名称以空格分隔,允许输入重复的水果名称。程序使用input函数接收用户输入的内容,input函数返回的是字符串,调用字符串对象的split函数按空格切分字符串,该函数返回字符串切分后的列表对象。

列表变量=字符串对象.split(“”)

第2步:统计水果名称的出现次数

结合题目内容,水果名称次数的统计数据存储在字典对象中,字典元素的key为水果名称,字典元素的value为水果在字符串中出现的次数。遍历存储水果名称的列表,调用字典对象的get(key,defaltvalue)返回指定key的value,若key或key的value不存在,则返回默认指定的key和defaltvalue。

for水果名称in水果名称列表:

字典对象[key]=字典对象.get(水果名称,0)+1

第3步:字典排序并写入文件

字典按照数量降序排序,字典对象并不支持排序,可以把字典对象转换为列表对象,使用字典对象的items()方法以列表方式返回字典对象的键值对。再调用列表对象的sort函数排序。

第4步:列表对象写入文件

使用内置open函数以w模式打开"PY.txt"文件,遍历列表对象,调用文件对象的write函数按照题目要求格式将数据写入文件。

完整代码

fo=open("PY.txt","w")

txt=input("请输入类型序列:")

fruits=txt.split("")

d={}

forfruitinfruits:

d[fruit]=d.get(fruit,0)+1

ls=list(d.items())

ls.sort(key=lambdax:x[1],reverse=True)#按照数量排序

forkinls:

fo.write("{}:{}\n".format(k[0],k[1]))

fo.close()




转载请注明:http://www.aierlanlan.com/rzfs/6610.html