10. 数据容器_小练习

1.练习一

# 练习一:水果清单
fruits = {
    '苹果': 4.5,
    '香蕉': 3.2,
    '橙子': 5.8,
    '草莓': 12.0,
    '哈密瓜': 8.8
}

# 需求1:打印所有的水果
# for key in fruits:
#     print(f'{key}:{fruits[key]} 元/斤')

# 需求2:找到最贵水果
# key = max(fruits, key=fruits.get)
# print(f'最贵的水果是{key},价格是{fruits[key]} 元/斤')

2.练习二

# 练习二:学生成绩表
students = [
    {
        'name': '张三',
        'scores': {'语文': 88, '数学': 92, '英语': 95}
    },
    {
        'name': '李四',
        'scores': {'语文': 75, '数学': 83, '英语': 80}
    },
    {
        'name': '王五',
        'scores': {'语文': 92, '数学': 95, '英语': 88}
    }
]

# 需求1:计算每位学生的平均分
for stu in students:
    # 获取当前学生的成绩列表
    score_list = stu['scores'].values()
    # 计算平均值
    avg = sum(score_list) / len(score_list)
    print(f'{stu['name']}的平均成绩是:{avg:.1f}')


# 需求2:找到总分最高的学生
def find_best():
    # 记录分数最高的学生
    best_students = []
    # 记录最高分
    best_score = 0
    # 循环遍历
    for stu in students:
        # 获取当前学生的总成绩
        total = sum(stu['scores'].values())
        # 当前学生的成绩,如果大于best_score,就会更新数据
        if total > best_score:
            best_students = [stu['name']]
            best_score = total
        # 当前学生的成绩与最高分相同,就加入列表
        elif total == best_score:
            best_students.append(stu['name'])
    print(f'最高分为{best_score},取得最高分的学生有:{best_students}')
find_best()

3.练习三

# 练习三:评论内容
comment = '这家奶茶真好喝,环境也不错,就是价格有点贵,好喝好喝好喝!强烈推荐!'

# 需求1:统计“好喝”出现次数
print(comment.count('好喝'))

# 需求2:将字符串中的“贵”替换为“略高”
comment2 = comment.replace('贵', '略高')
print(comment2)

# 需求3:是否包含“推荐”两个字
print('推荐' in comment)

11. 数据容器_总结

有序与无序:

  • 有序:列表(list)、元组(tuple)、字符串(str)—— 元素有顺序,可通过下标访问元素。
  • 无序:集合(set)、字典(dict) —— 元素没有固定位置,不能用下标访问。

可修改:

  •  可变:列表(list)、集合(set)、字典(dict) —— 可以对内容进行增、删、改操作。
  •  不可变:元组(tuple) 、字符串(str) —— 内容固定,创建后无法修改。

可重复:

  •  允许重复:列表(list) 、元组(tuple) 、字符串(str)
  •  不允许重复:集合(set) 、字典(dict) 备注:字典的 key 是唯一的,但 value 可重复
图片[1]-10. 数据容器_小练习-大赛人网
© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发
头像-大赛人网
欢迎您留下宝贵的见解!
提交
头像-大赛人网

昵称

取消
昵称

    请登录后查看评论内容