题目1:零花钱计算器
难度:⭐
任务:编写程序计算一周零花钱,每天基础3元,周三双倍,周五多5元奖励
# 输入星期几(1-7)
base = 3
five_day_base = 3 * 5 #! 非特殊天数的基本零花钱
three_base = 2 * 3 #! 周三双倍所以 * 2
five_base = 3 + 5 #! 周五多给5元 所以 + 5
print(five_day_base + three_base + five_base)
💡 思路拆解:
- 变量准备:用
base
存储基础金额 - 条件判断:
- 周三(3)→ 基础×2 →
base * 2
- 周五(5)→ 基础+5 →
base + 5
- 周三(3)→ 基础×2 →
题目2:游乐园门票检测
难度:⭐⭐
任务:判断能否购买优惠票(身高≥120cm 且 年龄≥12岁不能买)
height = float(input("你的身高(cm):"))
age = int(input("你的年龄:"))
if height >= 120 and age >= 12:
print("请购买全价票💼")
else:
print("可以购买儿童优惠票🎫")
💡 思路拆解:
- 收集数据:输入身高和年龄
- 组合条件:
and
连接两个条件 → 必须同时满足
- 边界处理:
- 身高120.0cm也符合条件 →
>=
包含等于 - 年龄12岁刚好符合 →
<=
包含等于
- 身高120.0cm也符合条件 →
题目3:太空登陆资格赛
难度:⭐⭐⭐
任务:判断能否参加太空游戏(体重≤50kg 或 有VIP卡)
weight = float(input("你的体重(kg):"))
vip = input("有VIP卡吗?(有/没有):")
if weight <= 50 or vip == "有":
print("🚀 欢迎进入太空舱!")
else:
print("⚠️ 请先减重或购买VIP卡")
💡 思路拆解:
- 逻辑选择:
or
表示满足任一条件即可
- 输入处理:
- 体重是小数 →
float()
转换 - VIP卡用中文回答 → 判断字符串相等
- 体重是小数 →
- 反向思考:如果两个条件都不满足才拒绝
题目4:糖果分装机器人
难度:⭐⭐⭐⭐
任务:把100颗糖每7颗装一袋,计算完整包装数和剩余糖数
total = 100
per_bag = 7
bags = total // per_bag # 完整包装数
left = total % per_bag # 剩余糖数
print(f"装满{bags}袋🍬,剩下{left}颗")
💡 思路拆解:
- 数学原理:
//
求商 → 完整包装数量%
求余 → 剩余无法装满的糖
- 验证公式:
- 总数 = 每袋数量 × 袋数 + 余数
- 100 = 7×14 + 2 → 输出14袋余2颗
题目5:神秘数字猜猜乐
难度:⭐⭐⭐⭐⭐
任务:三次机会猜1-10之间的数字,给出提示
secret = 6
chances = 3
for i in range(chances):
guess = int(input(f"第{i+1}次猜数(1-10):"))
if guess == secret:
print("🎯 猜中啦!获得神秘礼物!")
break
elif guess > secret:
print("📉 再小一点")
else:
print("📈 再大一点")
else:
print(f"机会用尽,答案是{secret}")
💡 思路拆解:
- 循环结构:
for
控制最多尝试3次 - 条件嵌套:
- 先判断是否相等 → 直接胜利
- 否则比较大小 → 给出提示
- 循环else:所有机会用完才显示失败信息
- 用户体验:
- 显示当前是第几次尝试
- 用箭头符号辅助理解大小关系
检验学习成果的方法:
- 逐题挑战:按难度顺序完成,每完成一题获得一个成就徽章
- 自由改编:
- 修改题目中的数值(如把100颗糖改成其他数)
- 调整判断条件(如把
and
改成or
观察变化)
- 错误实验室:故意写错运算符(如把
==
写成=
),观察报错信息并修复