赞
踩
根据提示,在右侧编辑器补充代码,创建字典并对该字典进行如下操作: 1.添加一门成绩:体育:90 2.打印化学成绩,如果找不到,则输出‘不存在’ 3.修改语文成绩为100 4.删除信息成绩 5.输出字典。
第一问,两种做法:
- score_dict = {}
- for i in range(5):
- # 请按下面的注释提示添加代码,完成相应功能
- #1.对score_dict字典进行初始化,数据从键盘输入,得到如任务描述中的字典
- ###### Begin ######
- if i ==0:
- key=input()
- value=input()
- score_dict[key]=value
- if i>0:
- key=input()
- value=eval(input())
- score_dict[key]=value
- ####### End #######
- score_dict = {}
- for i in range(5):
- # 请按下面的注释提示添加代码,完成相应功能
- #1.对score_dict字典进行初始化,数据从键盘输入,得到如任务描述中的字典
- ###### Begin ######
- key=input()
- value=input()
- if value.isdigit():
- value=eval(value)
- score_dict[key]=value
- ####### End #######
第二问,增减查修较为简单
- # 请按下面的注释提示添加代码,完成相应功能
- #2.请在此添加代码,实现对score_dict的添加、删除、查找、修改等操作,并打印输出相应的值
- ###### Begin ######
- score_dict['体育']=90
- print(score_dict.get('化学','不存在'))
- score_dict['语文']=100
- del score_dict['信息']
- print(score_dict)
- ####### End #######
根据提示,在右侧编辑器补充代码,由列表创建字典,计算张三同学的总分,将总分作为新的键值对加入字典,最后输出字典中的所有键值对。
第二问注意一下要将非张三的数值加起来。最后输出的时候注意不能直接输出字典,要转化一下格式。
- # 创建并初始化score_dict字典
- score_list=['姓名','语文','英语','数学','体育']
- # 请按下面的注释提示添加代码,完成相应功能
- #1.根据上面的列表创建score_dict字典并初始化,得到如任务描述中的字典,字典中的值从键盘输入
- ###### Begin ######
- score_dict={}
- for key in score_list:
- if key=="姓名":
- value=input()
- score_dict[key]=value
- else:
- value=eval(input())
- score_dict[key]=value
- ####### End #######
-
-
- # 请按下面的注释提示添加代码,完成相应功能
- #2.请在此添加代码,计算张三同学的总分,并将总分作为新的键值对加入,最后输出score_dict的所有键值对
- ###### Begin ######
- sum1=0
- for i in score_dict.values():
- if i !='张三':
- sum1+=i
- score_dict["总分"]=sum1
- for k,v in score_dict.items():
- print(k,v)
- ####### End #######
根据提示,在右侧编辑器补充代码,执行以下操作: 1.创建一个字典score_dict,里面包含三个列表,输出 2.创建一个列表score_list,里面包含两个字典,输出
- #创建空列表score_dict
- score_dict={}
- #每次循环生成一个键值对
- for i in range(3):
- #输入课程名作为字典的键
- key=input()
- # 创建空列表
- value_list=[]
- # 请按下面的注释提示添加代码,完成相应功能
- #1.从键盘输入两个分数,保存到列表中
- ###### Begin ######
- v1=eval(input())
- value_list.append(v1)
- v2=eval(input())
- value_list.append(v2)
- ####### End #######
- score_dict[key]=value_list
-
- print(score_dict)
-
- #创建空列表score_list
- score_list=[]
- #每次循环生成一个字典
- for i in range(2):
- # 创建空字典
- s_dict={}
- # 请按下面的注释提示添加代码,完成相应功能
- #2.对从键盘输入三门课程及成绩,保存到字典中
- ###### Begin ######
- for j in range(3):
- k=input()
- v=eval(input())
- s_dict[k]=v
- ####### End #######
- score_list.append(s_dict)
本关任务:从键盘输入一串字符,统计字符串中出现次数最多的单词和次数,如果有多个相同的最多次数,需要输出多个单词及次数。
完成这个任务要解决以下难点:
1.非英文单词与大小写的归一化
2.空格分离时,“”项不能计数
3.字典的排序以及输出格式问题
- #输入的字符串中可包含".,~!@#$%^&*()+_/0123456789"等非英文单词字符
- WordStr = input()
- #stpe1:归一化处理
- WordStr=WordStr.lower()
- for ch in ".,~!@#$%^&*()+_/0123456789":
- WordStr=WordStr.replace(ch," ")
- #2分割字符串为列表,英文单词之间用空格分隔
- Wordlist=WordStr.split(" ")
- #3 统计每个单词的个数(列表或字典的方法)
- Worddict={}
- for word in Wordlist:
- if word in Worddict and word !="":
- Worddict[word]+=1
- elif word not in Worddict and word !='':
- Worddict[word]=1
- #字典排序,返回值是一个列表
- lis1=sorted(Worddict.items(),key=lambda x:x[1],reverse=True)
- #输出最高频率单词和次数 ,多个相同高频字也要输出
- for i in range(len(lis1)):
- if lis1[i][1]==lis1[0][1]:
- print(lis1[i][0],lis1[i][1])
本关任务:编写一个能将3位数以内的整数翻译成英文的程序。
本关注意点:整十和整百的处理,以及三位数英文之间的关联。
- #数字翻译成英文程序
- def unit_to_word(u): #将0~9的数字转换成英文,并返回转换后的英文
- # 请在下面编写代码
- # ********** Begin ********** #
- numlist1=([0,'zero'],[1,'one'],[2,'two'],[3,'three'],[4,'four'],[5,'five'],[6,'six'],[7,'seven'],[8,'eight'],[9,'nine'])
- numdict1=dict(numlist1)
- return numdict1[u]
- # ********** End ********** #
- # 请不要修改下面的代码
- def tens_to_word(t): #利用unit_to_word,将10~19、
- #以及20~99的十位部分数字转换成英文,并返回转换后的英文
- # 请在下面编写代码
- # ********** Begin ********** #
- if t<10:
- return unit_to_word(t)
- elif 10<=t<=19:
- numlist2=([10,'ten'],[11,'eleven'],[12,'twelve'],[13,'thirteen'],[14,'fourteen'],[15,'fifteen'],[16,'sixteen'],[17,'seventeen'],[18,'eighteen'],[19,'nineteen'])
- numdict2=dict(numlist2)
- return numdict2[t]
- elif 20<=t<=99:
- numlist3=([2,'twenty'],[3,'thirty'],[4,'forty'],[5,'fifty'],[6,'sixty'],[7,'seventy'],[8,'eighty'],[9,'ninety'])
- numdict3=dict(numlist3)
- if t%10==0:
- return numdict3[t//10]
- if t%10!=0:
- return numdict3[t//10]+" "+tens_to_word(t%10)
- # ********** End ********** #
- # 请不要修改下面的代码
-
- def hundreds_to_word(h): #利用unit_to_word、tens_to_word进行转换,并返回转换后结果的函数
- # 请在下面编写代码
- # ********** Begin ********** #
- if 0<=h<=99:
- return tens_to_word(h)
- if h%100!=0:
- if 100<h<=999:
- return tens_to_word(h//100)+' hundred and '+tens_to_word(h%100)
- if h%100==0:
- return tens_to_word(h//100)+' hundred'
- # ********** End ********** #
- # 请不要修改下面的代码
- test = eval(input())
- print(test, "==>", hundreds_to_word(test))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。