-
实验目的
-
了解python中组合数据类型
-
掌握各种组合数据类型处理函数
-
实验内容
-
已知列表list_1=[7,8,9,10]和list_2=[3,4],请将这两个列表合并位一个列表,并将合并后的列表中的元素按降序排列。
-
已知元组tup_1=(‘p’,’y’,’t’,[‘o’,’n’]),请向元组的最后一个列表中添加新元素’h’
-
已知字符串str=’sdfghjkkijuhgfrd’,请统计该字符串中各字母出现的次数
-
已知列表list_1=[1,2,1,2,3,2,5,6,7,5,9],请删除列表中的重复数据。
请完成实训案例:十大歌手 青春有你 手机通讯录 ''' 已知列表list_1 = [7, 8, 9, 10]和list_2 = [3, 4], 请将这两个列表合并位一个列表,并将合并后的列表中的元素按降序排列。 ''' list_1 = [7, 8, 9, 10] list_2 = [3, 4] for i in list_2: list_1.append(i) list_1.sort() list_1.reverse() print(list_1) # 已知元组tup_1=(‘p’,’y’,’t’,[‘o’,’n’]),请向元组的最后一个列表中添加新元素’h’ tup_1=('p','y','t',['o','n']) tup_1[3].insert(0,"h") print(tup_1) # 3、 已知字符串str=’sdfghjkkijuhgfrd’,请统计该字符串中各字母出现的次数 str="sdfghjkkijuhgfrd" dict_1={} for i in str: if i not in dict_1: dict_1[i]= str.count(i) print(dict_1) # 4、 已知列表list_1=[1,2,1,2,3,2,5,6,7,5,9],请删除列表中的重复数据。 list_1=[1,2,1,2,3,2,5,6,7,5,9] print(list(set(list_1))) ''' 为丰富校园文化生活,学校拟组织一场歌手大赛,从参赛选手中选拔出10名相对突出的学生,授予“校园十大歌手”称号。比赛设有评委组 ,每名选手演唱完毕后会由评委组的 10 名评委打分 。为保证比赛公平公正、防止作弊和恶意打分,计算得分(即打分的平均分)时会先去掉最高分和最低分。 本案例要求编写程序,实现根据需求计算每位选手得分的功能。 ''' dict_stu={}; num_stu={}; while True: everyName=input("请输入选手名称:") num_list=[]; # 十位评委打分 for i in range(1,10): num=int(input(f"评委{i}请输入分数:")) num_list.append(num) num_list.sort() dict_stu[everyName]=num_list #删除最高分 和最低分 /10 num_list.pop(0) num_list.pop() fraction=0; for i in num_list: fraction+=i num_stu[everyName]=(fraction/10) flag=input("是否继续评分下一位选手?1继续,2结束") if int(flag)==2: break; for i in num_stu.keys(): print(f"{i}选手的评分为:{num_stu.get(i)}") ''' 近两年偶像选秀节目风靡,吸引了许多喜欢唱跳、有明星梦想的少男少女参加,《青春有你》正是节目之一。 《青春有你》采用计票机制,选手获得的票数越多,排名就越靠前。本案例要求编写程序,接收选手的姓名和票数,输出排序后的成绩。 ''' dict_ple={}; while True: everyName = input("请输入选手名称:") number = input(f"请输入{everyName}的票数:") dict_ple[everyName]=int(number) flag=input("是否继续评分下一位选手?1继续,2结束") if int(flag)==2: break; sorted_dict = dict(sorted(dict_ple.items(), key=lambda item: item[1], reverse=True)); for i in sorted_dict.keys(): print(f"{i}选手的票数为:{sorted_dict.get(i)}") ''' 通讯录是记录了联系人姓名和联系方式的名录 手机通讯录是最常见的通讯录之一,人们可以在手机通讯录中国通过姓名查看相关联系人的联系方式,也可以在其中新增、修改或删除联系人信息 本案例要求编写程序、实现具备添加、查看、删除、修改和查找联系人信息功能的手机通讯录 ''' phone_book = {} def Save(name, number): phone_book[name] = number print(f"联系人 {name} 已添加") def getList(): if not phone_book: print("通讯录为空") else: print("手机通讯录:") for name, number in phone_book.items(): print(f"{name}: {number}") def Del(name): if name in phone_book: del phone_book[name] print(f"联系人 {name} 已删除") else: print(f"联系人 {name} 不存在") def Update(name, new_number): if name in phone_book: phone_book[name] = new_number print(f"联系人 {name} 的联系方式已更新") else: print(f"联系人 {name} 不存在") def SelectOne(name): if name in phone_book: print(f"联系人 {name}: {phone_book[name]}") else: print(f"联系人 {name} 不存在") while True: print("请选择您的操作:") print("1.查询") print("2.修改") print("3.删除") print("4.新增") print("5.查询个人") print("6.退出") option=int(input("请输入您的选择:")) if option==1: getList() elif option==2: Update(input("请输入您要修改人的姓名:"),input("修改的手机号:")) elif option==3: Del(input("请输入您要删除的姓名:")) elif option==4: Save(input("请输入联系人:"),input("请输入电话号码:")) elif option==5: SelectOne(input("请输入查询联系人姓名:")) elif option==6: break;