隐藏页面特效

Python_作业3_组合数据类型

7-1 图的字典表示

图的字典表示。输入多行字符串,每行表示一个顶点和该顶点相连的边及长度,输出顶点数,边数,边的总长度。比如上图0点表示:
{'O':{'A':2,'B':5,'C':4}}。用eval函数处理输入,eval函数具体用法见第六章内置函数。

输入格式:

第一行表示输入的行数
下面每行输入表示一个顶点和该顶点相连的边及长度的字符串

输出格式:

在一行中输出顶点数,边数,边的总长度

输入样例:

在这里给出一组输入。例如:

4 {'a':{'b':10,'c':6}} {'b':{'c':2,'d':7}} {'c':{'d':10}} {'d':{}}
 

输出样例:

在这里给出相应的输出。例如:

4 5 35

代码如下:
n=int(input()) k=0 a=set() b=set() c=0 while True: k+=1 if k>n: print(len(a),len(b),c) break else: x=input() y=eval(x) for key,value in y.items(): a.add(key) if type(value)==dict: for key1,value1 in value.items(): a.add(key1) b.add((key,key1)) c+=value1

7-2 jmu-python-逆序输出

输入一行字符串,然后对其进行如下处理。

输入格式:

字符串中的元素以空格或者多个空格分隔。

输出格式:

逆序输出字符串中的所有元素。
然后输出原列表。
然后逆序输出原列表每个元素,中间以1个空格分隔。注意:最后一个元素后面不能有空格。

输入样例:

a b c e f gh
 

输出样例:

ghfecba ['a', 'b', 'c', 'e', 'f', 'gh'] gh f e c b a

代码如下:
n = input().split() i = len(n) while i>0: print(n[i-1],end="") i = i - 1 print('\n',end="") i = len(n) print(n) while i>1: print(n[i-1],end=" ") i = i - 1 print(n[0],end="")

7-3 jmu-python-班级人员信息统计

输入a,b班的名单,并进行如下统计。

输入格式:

第1行::a班名单,一串字符串,每个字符代表一个学生,无空格,可能有重复字符。
第2行::b班名单,一串字符串,每个学生名称以1个或多个空格分隔,可能有重复学生。
第3行::参加acm竞赛的学生,一串字符串,每个学生名称以1个或多个空格分隔。
第4行:参加英语竞赛的学生,一串字符串,每个学生名称以1个或多个空格分隔。
第5行:转学的人(只有1个人)。

输出格式

特别注意:输出人员名单的时候需调用sorted函数,如集合为x,则print(sorted(x))
输出两个班级的所有人员数量
输出两个班级中既没有参加ACM,也没有参加English的名单和数量
输出所有参加竞赛的人员的名单和数量
输出既参加了ACM,又参加了英语竞赛的所有人员及数量
输出参加了ACM,未参加英语竞赛的所有人员名单
输出参加英语竞赛,未参加ACM的所有人员名单
输出参加只参加ACM或只参加英语竞赛的人员名单
最后一行:一个同学要转学,首先需要判断该学生在哪个班级,然后更新该班级名单,并输出。如果没有在任何一班级,什么也不做。

输入样例:

abcdefghijab 1 2 3 4 5 6 7 8 9 10 1 2 3 a b c 1 5 10 a d e f a
 

输出样例:

Total: 20 Not in race: ['4', '6', '7', '8', '9', 'g', 'h', 'i', 'j'], num: 9 All racers: ['1', '10', '2', '3', '5', 'a', 'b', 'c', 'd', 'e', 'f'], num: 11 ACM + English: ['1', 'a'], num: 2 Only ACM: ['2', '3', 'b', 'c'] Only English: ['10', '5', 'd', 'e', 'f'] ACM Or English: ['10', '2', '3', '5', 'b', 'c', 'd', 'e', 'f'] ['b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
代码如下:


a = set(input()) b = set(input().split()) a1 = input().split() b1 = input().split() c = input() print("Total:",len(a)+len(b)) m = [x for x in a if x not in (a1+b1)] m1 = [y for y in b if y not in (a1+b1)] print("Not in race:",end=" ") print(sorted(m+m1),end="") print(", num:",len(m+m1)) m = set(list(a1)+list(b1)) print("All racers:",end=" ") print(sorted(m),end="") print(", num:",len(m)) m = [x for x in a1 if x in b1] print("ACM + English:",end=" ") print(sorted(m),end="") print(", num:",len(m)) m1 = [x for x in a1 if x not in b1] print("Only ACM:",sorted(m1)) m2 = [y for y in b1 if y not in a1] print("Only English:",sorted(m2)) m = list(m1)+list(m2) print("ACM Or English:",sorted(m)) if c in a: m = set(a)-set(list(c)) print(sorted(m)) elif c in b: m = set(b)-set(list(c)) print(sorted(m))

 


__EOF__

本文作者往心。
本文链接https://www.cnblogs.com/lx06/p/16274705.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   往心。  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示