预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1.101 描述 参照代码模板完善代码,实现下述功能。输入一个字符串,其中的字符由(英文)逗号隔开,编程将所有字符连成一个字符串,输出显示在屏幕上。 输入输出示例 输入输出示例11,2,3,4,512345习题讲解 答案: ls=input("请输入一个字符串,由逗号隔开每个字符:").split(',')(1) print(''.join(ls))(2) 要点: 1.题目要求输入的字符用逗号隔开,所以,需要用到split(',')来从字符串里提取所输入的字符 2.经过split()函数的字符串,返回的是列表 3.字符串有个操作函数是str.join(ls),可以把列表里的各个元素,用str的内容连接起来。本题利用了空字符串‘’,来调用这个函数,因此,达到了所想要的效果:将带有逗号的字符串变换成了没有逗号的字符串。 4.有一个不可忽视的地方是join()函数的括号里的参数是列表,如果忘了这一点,会犯错 5.这个功能利用好了,可以拓展,解决其他的问题。 2.102 描述 参照代码模板完善代码,实现下述功能。 有一个列表studs如下: studs=[{'sid':'103','Chinese':90,'Math':95,'English':92},{'sid':'101','Chinese':80,'Math':85,'English':82},{'sid':'102','Chinese':70,'Math':75,'English':72}] 将列表studs的数据内容提取出来,放到一个字典scores里,在屏幕上按学号从小到大的顺序显示输出scores的内容。内容示例如下: 101:[85,82,80] 102:[75,72,70] 103:[95,92,90] 输入输出示例 输入输出示例1无101:[85,82,80] 102:[75,72,70] 103:[95,92,90]习题讲解 答案: studs=[{'sid':'103','Chinese':90,'Math':95,'English':92},{'sid':'101','Chinese':80,'Math':85,'English':82},{'sid':'102','Chinese':70,'Math':75,'English':72}] scores={} forstudinstuds: sv=stud.items() v=[] foritinsv: ifit[0]=='sid': k=it[1] else: v.append(it[1]) scores[k]=v #print(scores) so=list(scores.items()) so.sort(key=lambdax:x[0],reverse=False) forlinso: print('{}:{}'.format(l[0],l[1])) studs=[{'sid':'103','Chinese':90,'Math':95,'English':92},{'sid':'101','Chinese':80,'Math':85,'English':82},{'sid':'102','Chinese':70,'Math':75,'English':72}] lit=[] foriinstuds: lst=[] a=i.get('sid') lst.append(i.get('Chinese')) lst.append(i.get('Math')) lst.append(i.get('English')) lst.sort(reverse=True) lat=[] lat.append(a+":") lat.append(str(lst)) lit.append(lat) lit.sort() foriinlit: print("".join(i)) 要点: 1.字典作为元素,定义在列表里,用列表的遍历就可以从中提取出来 2.提取出来的元素直接就是字典,因此可以用items()直接获取,形成键值对对象集合sv; 3.对键值对对象集合sv遍历,就可以以元组it的方式访问其中的每一对键值对,sv=stud.items(),是第一个空的答案; 4.题目要求提取学生的学号,所以需要比较键it[0]是否是'sid',是则将学号it[1]提取出来作为新的字典scores的键k;不是则将成绩提取出来作为新字典scores的值v; 5.由于课程是多门,因此新字典scores的值v需要以列表的方式,保存各门课程的成绩,所以在不是的情况下,新字典scores的值v是利用append(it[1])的方式,追加到列表的后面; 6.对v做append操作,必须要事先定义v是一个空列表;因此需要在对每一条旧字