一、前情回顾与学习路线
第一篇重点复习:
✅ 变量与数据类型 ✅ 条件判断 ✅ 循环结构
本篇新知识地图:
graph LR
A[基础语法] --> B[列表]
A --> C[字典]
B --> D[函数进阶]
C --> D
二、列表(List):你的数据收纳盒
1. 列表是什么?
-
现实比喻:像超市购物车,可以随时添加/取出商品
-
代码定义:用方括号
[]
包裹,元素用逗号分隔
# 创建购物车列表
cart = ["苹果", "牛奶", "面包"]
print("购物车里有:", cart) # 输出:['苹果', '牛奶', '面包']
2. 列表基础操作(手把手演示)
① 访问元素
print(cart[0]) # 输出"苹果"(索引从0开始)
print(cart[-1]) # 输出"面包"(倒数第一个)
② 修改元素
cart[1] = "酸奶" # 把牛奶换成酸奶
print(cart) # ['苹果', '酸奶', '面包']
③ 添加元素
cart.append("鸡蛋") # 末尾添加
print(cart) # ['苹果', '酸奶', '面包', '鸡蛋']
cart.insert(1, "香蕉") # 插入到第2个位置
print(cart) # ['苹果', '香蕉', '酸奶', '面包', '鸡蛋']
3. 小练习:家庭收支记账
# 初始化账单列表
bills = [1200, 850, 300]
# 添加新支出
bills.append(200)
# 计算总支出
total = sum(bills)
print("本月总支出:", total) # 输出:2550
三、字典(Dict):你的数据档案袋
1. 字典是什么?
-
现实比喻:像学生档案,每个学生有唯一的学号(键)对应详细信息(值)
-
代码定义:用花括号
{}
包裹,键值对用key: value
表示
# 创建学生档案
student = {
"name": "王小萌",
"age": 18,
"courses": ["数学", "英语"]
}
2. 字典基础操作(对比列表)
① 访问数据
print(student["name"]) # 输出"王小萌"
print(student.get("gender", "未知")) # 安全获取,输出"未知"
② 修改数据
student["age"] = 19 # 修改年龄
student["gender"] = "女" # 新增性别字段
③ 实用方法
# 获取所有键
keys = student.keys() # dict_keys(['name', 'age', 'courses', 'gender'])
# 遍历字典
for key, value in student.items():
print(f"{key}: {value}")
3. 小练习:通讯录管理
# 创建通讯录
contacts = {
"爸爸": "13800001111",
"妈妈": "13900002222"
}
# 添加新联系人
contacts["老师"] = "13500003333"
# 查找电话
name = input("输入联系人:")
phone = contacts.get(name, "未找到")
print(f"{name}的电话是:{phone}")
四、函数进阶:让代码更智能
1. 带参数的函数
# 计算商品总价
def calculate_price(price, quantity):
total = price * quantity
return f"总价:{total}元"
print(calculate_price(5, 3)) # 输出"总价:15元"
2. 参数默认值
# 带默认值的问候函数
def greet(name="朋友"):
print(f"你好,{name}!")
greet() # 输出"你好,朋友!"
greet("李雷") # 输出"你好,李雷!"
3. 小练习:成绩转换器
def convert_score(percent):
if percent >= 90:
return "A"
elif percent >= 80:
return "B"
else:
return "C"
print(convert_score(85)) # 输出B
五、综合案例:学生管理系统(极简版)
# 初始化学生列表
students = []
# 添加学生函数
def add_student():
name = input("输入姓名:")
age = int(input("输入年龄:"))
students.append({"name": name, "age": age})
print("添加成功!")
# 显示所有学生
def show_students():
print("\n当前学生列表:")
for stu in students:
print(f"姓名:{stu['name']},年龄:{stu['age']}")
# 主程序
while True:
print("\n1.添加学生 2.查看学生 3.退出")
choice = input("请选择:")
if choice == "1":
add_student()
elif choice == "2":
show_students()
elif choice == "3":
break
else:
print("输入错误!")
六、避坑指南
1.列表越界错误
nums = [1,2,3]
# print(nums[3]) # 错误!最大索引是2
print(nums[-1]) # 正确获取最后一个元素 → 3
2.字典键不存在
info = {"name": "Tom"}
# print(info["age"]) # 报KeyError
print(info.get("age", "暂无信息")) # 正确写法
学习建议
-
代码要手敲:不要直接复制粘贴!
-
修改案例:尝试改动示例代码中的数值/文字
-
每日目标:至少完整运行3个不同的程序
📢 下期预告:字符串操作与文件读写入门(实现日记本程序)
❤️ 如果本文对你有帮助,点赞收藏支持下博主吧!