开发者学堂课程【Python 入门 2020年版:作业讲解2】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/639/detail/10399
作业讲解2
#用三个元组表示三门学科的选课学生姓名(一个学生可以同时选多门课)
sing =('李白','白居易','李清照','杜甫,'王昌龄'',王维','孟浩然','王安石')
dance =('李商','杜甫','李白','白居易','岑参','王昌龄')
rap =('李清照','刘禹锡','岑参','王昌龄','苏轼','王维','李白')
#(1)求选课学生总共有多少人
#元组之间支持加法运算
#使用集合 set 可以去重
total = set ( sing + dance + rap )
print (1en( total ))
#(2)求只选了第一个学科的人的数量和对应的名字
sing _ only =[]
for p in sing :
if pnot in dance and pnot in rap :
sing _ only . append ( p )
print ('只选择了第一个学科的有{}人,是{}'. format ( len ( sing _ only ), sing _ only ))
#(3)求只选了﹣门学科的学生的数量和对应的名字
#(4)求只了两门学科的学生的数量和对应的名字
#(5)求只选了三门学生的学生的数量和对应的名字
p _ dict ={}#空字典
all_ persons = sing + dance + rap
print (al1_ persons )
#('李白',白居易','李清照','杜甫’,'王昌龄’,'王维','孟浩然','王安石','李商隐','社甫','李白','白居易’}
for name in al1_ persons :
if name not in P _ dict :
P _ dict [ nane ]=al1_ persons . count ( name)
print ( p _ dict )
for k , v in p _ dict , items ():
if v ==1:
print ('报了﹣门的有', k )
elif v ==2:
print ('报了两门的有', k )
elif v==3:
print ('报了三门的有', k )