云南农业大学--pyhton实验五 组合数据类型

  • 实验目的

  1. 了解python中组合数据类型

  2. 掌握各种组合数据类型处理函数

  • 实验内容

  1. 已知列表list_1=[7,8,9,10]和list_2=[3,4],请将这两个列表合并位一个列表,并将合并后的列表中的元素按降序排列。

  2. 已知元组tup_1=(p,y,t,[o,n]),请向元组的最后一个列表中添加新元素h

  3. 已知字符串str=sdfghjkkijuhgfrd,请统计该字符串中各字母出现的次数

  4. 已知列表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;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值