招式篇-Day15 复合条件判断练习

9 次阅读 2026-10-16 09:45

🍀功法简介(知识点)

今天不学习新语法,综合前面学过的比较运算符 + and/or/not + if elif else + 布尔值做综合练习。

复合条件 = 多个比较表达式,用逻辑运算符拼装在一起,用来描述更加复杂的业务规则。

复习要点:

  • and:全部条件满足才成立

  • or:任意一个条件满足就成立

  • not:条件结果取反

  • 多分支从上到下依次判断,匹配第一个满足条件的分支

基础示例:

minute = 42
# 练习时间大于30,并且小于60
if minute >30 and minute <60:
    print("练习时长在合理区间")

🥋今日 Kata 任务(练习)

需求:Python Kata 修炼打卡系统

  1. input 输入练习分钟,转 int 存入practice_min

  2. input 输入是否坚持打卡,输入1代表打卡,0代表未打卡,转 int 存入has_check

  3. 判断规则:

    • 练习≥30 分钟 并且 打卡 (has_check ==1) → 打印🏆完美打卡!获得今日勋章

    • 练习≥30 分钟 或者 打卡 (has_check ==1) → 打印⭐表现不错,继续坚持

    • 其余情况 → 打印📝明天记得来打卡修炼

✅参考示例代码

practice_str = input("请输入今天练习的分钟数:")
practice_min = int(practice_str)
check_str = input("是否打卡?输入1打卡,0未打卡:")
has_check = int(check_str)

if practice_min >= 30 and has_check == 1:
    print("🏆完美打卡!获得今日勋章")
elif practice_min >= 30 or has_check == 1:
    print("⭐表现不错,继续坚持")
else:
    print("📝明天记得来打卡修炼")

 

示例运行 1:

请输入今天练习的分钟数:40
是否打卡?输入1打卡,0未打卡:1
🏆完美打卡!获得今日勋章

示例运行 2:

请输入今天练习的分钟数:25
是否打卡?输入1打卡,0未打卡:1
⭐表现不错,继续坚持

示例运行 3:

请输入今天练习的分钟数:20
是否打卡?输入1打卡,0未打卡:0
📝明天记得来打卡修炼

🧠思考题(进阶可选)

新增规则:如果练习时间超过 90 分钟,就算没有打卡,也输出🔥超长修炼,值得鼓励。想一想,这行判断要写在哪个位置?为什么?

💡功法小提示

⚠️ 复合条件建议适当增加括号,让逻辑更清晰,例如 (a>10) and (b==1)⚠️ 多分支顺序不能随意调换,优先级更高的条件写在上方。⚠️ 写复杂条件前,可以先用草稿纸梳理逻辑,再翻译成代码。