← 返回 Day 2 正文

Day 2 · 练习与清单

Day 002 — 变量与数据类型:完成清单 ✅

逐项检查,确保完全掌握今日内容


📋 概念理解

🔧 实操技能

🧪 代码验证


✍️ 练习题

练习 1:变量交换

不使用第三个变量,交换两个变量的值。

python
a = 10
b = 20
# 请在这里写你的代码,使得 a=20, b=10

# 验证
print(f"a = {a}, b = {b}")  # 应输出 a = 20, b = 10

提示:Python 特有的元组解包方式是什么?

练习 2:类型侦探

写一个程序,给定任意输入,判断并输出它属于哪种类型:

python
# 给以下每个值打印出它的类型
items = [42, 3.14, "3.14", True, None, "True", 0, "", 0.0, 2**100]

# 对每个 item,输出 item, type(item).__name__

# 额外挑战:说出哪些值在 bool() 转换后为 False

练习 3:格式化输出练习

创建一个程序,定义以下变量并使用 f-string 输出格式化的自我介绍:

python
name = "你的名字"          # 替换为你的名字
age = 你的年龄              # 替换为你的年龄
dream_job = "你的理想职业"  # 替换为你的理想职业

# 用 f-string 输出: "大家好,我是[name],今年[age]岁,我的梦想是成为一名[dream_job]。"
# 要求:年龄后面的"岁"字也是变量拼进去的
# 输出示例: "大家好,我是张三,今年25岁,我的梦想是成为一名宇航员。"

练习 4:is 与 == 的实验

写一段代码来验证以下内容:

python
# 1. 找出两个不同的变量,使得 a is b 为 True 但 a == b 也为 True
# 2. 找出两个不同的变量,使得 a is b 为 False 但 a == b 为 True
# 3. 找出两个不同的变量,使得 a is b 为 False 且 a == b 也为 False

挑战:解释为什么第二点会发生。

练习 5:个人信息收集器升级版

在 02-profile-card.py 的基础上添加:

  1. 电话号码:用户输入手机号,程序判断是否是 11 位数字
  2. 邮箱验证:用户输入邮箱,程序判断是否包含 @ 符号
  3. 多项爱好:用户输入多个爱好(逗号分隔),程序将其拆分为列表

输出格式要求:

姓名    : 李明
年龄    : 28 岁
电话    : 138****5678 (部分隐藏)
邮箱    : 有 @ 符号 ✅
爱好列表: ['阅读', '编程', '跑步']

📊 自我评估

等级 标准 我的评价
🟢 完成 全部概念理解,代码运行无误
🟡 良好 大部分理解,少量需要复习
🔴 重学 需要再看一遍 README

📝 学习笔记:

在这里写下你的疑问、发现、或任何想记录的内容:
__________________________________________________
__________________________________________________
__________________________________________________