说明
本练习在课堂内完成。请在本机使用 VS Code、Cursor 或 Devin Desktop 编写并运行,再将源代码与终端输出填入各题下方的文本框。
练习一:花括号创建与访问
编写程序,使用花括号创建一名学生的信息字典,并按键读出姓名和年龄。
要求
- 在程序中写入下面的字典。
name表示姓名,age表示年龄,grade表示成绩,city表示城市。
student = {
"name": "张三",
"age": 20,
"grade": 85,
"city": "北京"
}
- 打印
student["name"],输出为张三。 - 打印
student["age"],输出为20。 - 打印
student,输出为{'name': '张三', 'age': 20, 'grade': 85, 'city': '北京'}。
练习二:由键值对列表创建
编写程序,将一组键值对列表转换为字典,并打印该字典。
要求
- 在程序中写入下面的列表。每个元组的第一项是键,第二项是值。
pairs = [("name", "王五"), ("age", 19), ("grade", 88)]
- 使用
dict(pairs)创建字典。 - 打印该字典,输出为
{'name': '王五', 'age': 19, 'grade': 88}。
练习三:字典推导式
编写程序,使用字典推导式生成 1 到 5 的平方,以及三个姓名的长度。
要求
- 在程序中写入下面的姓名列表。
names = ["Alice", "Bob", "Charlie"]
- 使用
{x: x**2 for x in range(1, 6)}生成平方字典,并打印。输出为{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}。 - 使用
{name: len(name) for name in names}生成姓名长度字典,并打印。输出为{'Alice': 5, 'Bob': 3, 'Charlie': 7}。
练习四:安全访问
编写程序,使用 get() 读取存在的键和不存在的键。键不存在时,程序不报错。
要求
- 在程序中写入下面的字典。
student = {"name": "张三", "age": 20, "grade": 85}
- 打印
student.get("name"),输出为张三。 - 打印
student.get("height"),输出为None。 - 打印
student.get("height", "未知"),输出为未知。
练习五:修改、批量更新与遍历
编写程序,修改年龄,补充城市和专业,再逐项打印键与值。
要求
- 在程序中先写入下面的字典。
student = {"name": "张三", "age": 20, "grade": 85}
- 随后写入下面三行。第一行将年龄修改为 21,第二行增加城市,第三行同时更新成绩并增加专业。
student["age"] = 21
student["city"] = "北京"
student.update({"grade": 90, "major": "智能科学"})
- 分别打印
"name" in student、"height" in student和len(student),三行输出依次为True、False、5。 - 使用
for key, value in student.items()遍历,每行按f"{key}: {value}"打印。五行输出依次为:
name: 张三
age: 21
grade: 90
city: 北京
major: 智能科学