当前位置: 首页 > news >正文

8天Python从入门到精通【itheima】-35~37

目录

35节-案例练习:猜猜心里数字

1.题目要求

2.博主第一次写的错误示范

猜数字代码错误示范及分析

错误代码

现象

错误原因分析

总结

3.看了视频以后的正确代码编写

36节-判断语句的嵌套

1.嵌套的判断语句的思维导图

2.嵌套的判断语句的格式

3.判断语句的嵌套-嵌套的简单案例-图片展示

4.代码展示小案例-门票免费

5.图片展示-if  elif  else 的综合嵌套的案例-发礼物

6.代码实战-发礼物  【这个逻辑有点绕,套娃,回头多看几遍】

7.小节总结

37节-判断语句的综合案例-猜数字

1.案例需求

2.Patrick的代码实战

OK了,今天的代码算是写完了,今天可是真的累了,基本上从上午9点,一直到晚上7点,除了吃饭和运动之外,就一直在写博客和代码,中午也就糊弄了一口,晚上不知不觉间就吃了4个花卷,那种饿,是生理性的真饿,什么都扛不住了,因为头脑风暴实在是太辛苦了,以后不能这么拼命了,要不然没有可持续发展,别弄得以后对代码生理性厌恶了!!!!对了,因为饥饿丧失了理智吃了4个花卷,那今天晚上就出去跑4km来against my dinner!

励志一下:


35节-案例练习:猜猜心里数字

1.题目要求

2.博主第一次写的错误示范

# 35节# 错误示范,这是博主第一次尝试写的,但是控制台输出不对,代码存在逻辑上的问题
num=int(input("请输入第一次猜想的数字:"))
again1=int(input("不对,再猜一次:"))
again2=int(input("不对,再猜最后一次:"))if num != 10:print(f"{again1}")
elif num != 10:print(f"{again2}")
print("Sorry,全部猜错啦,我想的是:10")
#控制台输出结果:
# 请输入第一次猜想的数字:1
# 不对,再猜一次:2
# 不对,再猜最后一次:3
# 2
# Sorry,全部猜错啦,我想的是:10

逻辑错误原因:

        

猜数字代码错误示范及分析

在猜数字练习中,出现控制台意外输出 “2”,与预期答案不符,以下是错误代码及分析。

错误代码

python

num = int(input("请输入第一次猜想的数字:"))
again1 = int(input("不对,再猜一次:"))
again2 = int(input("不对,再猜最后一次:"))if num != 10:print(f"{again1}")
elif num != 10:print(f"{again2}")
print("Sorry,全部猜错啦,我想的是:10")

现象

运行代码,依次输入 123 后,控制台输出 “2”,不符合猜数字逻辑。

错误原因分析

代码中 if num != 10 和 elif num != 10 条件完全相同。当输入 num = 1 时,满足第一个 if 条件,执行 print(f"{again1}"),而 again1 的值为 2,导致输出 “2”。这是典型的逻辑错误,if - elif 结构中各条件应合理区分,而非重复判断同一条件 num != 10

总结

此错误源于条件判断逻辑混乱。编写代码时,务必确保 if - elif 结构中各条件针对不同情况进行判断,避免因条件设置不当导致意外输出,影响程序逻辑的正确性。

3.看了视频以后的正确代码编写

        我靠,这tmd是什么东西,不按套路出牌,这个官方的答案也是shit


 

Patrick自己重写了一遍

我要说一句,这题目和答案对不上号,害我白想了半天,凸(艹皿艹 )。

所以,写这类小练习重点是逻辑要通顺,至于输出什么具体的话这样的内容不重要,重点是代码逻辑不能出错。

# 定义一个数字变量
num = 10# 通过键盘输入获取猜想的数字,通过多次if和elif的组合进行猜想比较
if int(input("请输入第一次猜想的数字:"))==num:print("恭喜,第一次就猜对了,你tmd是天才!")
elif int(input("不对,再猜一次:"))==num:print("第二次就猜对了,你比牛顿还权威!")
elif int(input("不对,再猜最后一次:"))==num:print("第三次猜对了,最后的关头创造了奇迹,铁汁太厉害了!")
else:print("都没猜出来,you are too weak!loser!")
# 控制台输出结果:
# 1.
# 请输入第一次猜想的数字:1
# 不对,再猜一次:2
# 不对,再猜最后一次:3
# 都没猜出来,you are too weak!loser!# 2.
# 请输入第一次猜想的数字:1
# 不对,再猜一次:333
# 不对,再猜最后一次:10
# 第三次猜对了,最后的关头创造了奇迹,铁汁太厉害了!


36节-判断语句的嵌套

1.嵌套的判断语句的思维导图

2.嵌套的判断语句的格式

3.判断语句的嵌套-嵌套的简单案例-图片展示

4.代码展示小案例-门票免费

# 36节
"""演示判断语句的嵌套使用"""if int(input("请告诉我您的身高:"))>120:print("您的身高超出免费的规定,需要缴纳10元。")print("但是,如果您的VIP等级在3级以上,也是可以免费的欧。")if int(input("请告诉我您的VIP等级:"))>3:print("虽然您的身高超过标准了,但是您的VIP等级足够高了,可以免费游玩了。")else:print("很遗憾,您的VIP等级不够,请您补交10元。")
else:print("您的身高在120以下,无需check您的VIP等级,您可以免费进去游玩")# 控制台输出的三种情况:
# 1.
# 请告诉我您的身高:130
# 您的身高超出免费的规定,需要缴纳10元。
# 但是,如果您的VIP等级在3级以上,也是可以免费的欧。
# 请告诉我您的VIP等级:5
# 虽然您的身高超过标准了,但是您的VIP等级足够高了,可以免费游玩了。
# 2.
# 请告诉我您的身高:130
# 您的身高超出免费的规定,需要缴纳10元。
# 但是,如果您的VIP等级在3级以上,也是可以免费的欧。
# 请告诉我您的VIP等级:2
# 很遗憾,您的VIP等级不够,请您补交10元。
# 3.
# 请告诉我您的身高:85
# 您的身高在120以下,无需check您的VIP等级,您可以免费进去游玩

5.图片展示-if  elif  else 的综合嵌套的案例-发礼物

6.代码实战-发礼物  【这个逻辑有点绕,套娃,回头多看几遍】

# 代码实战-发礼物:
# 1.必须是大于等于18岁小于30岁的成年人
# 2.同时入职时间需满足大于两年,或者级别大于3才可领取
age=80
year=3
level=10
if age>=18:print("您已经成年了,不是小屁孩了!!!")if age<30:print("您的年龄是在18到30岁之间的,年龄首先达标了。")if year>2:print("您的入职时间超过了两年了,年龄也符合,去拿礼物吧")elif level>3:print("年龄够,级别也够,可以领取礼物。")else:print("对不起,虽然您的年龄符合,但是入职时间或个人级别不够,不能拿礼物")else:print("不好意思,您的年龄实在太大了,礼物不发给老年人(我是反串,讽刺现在某些互联网的血汗工厂)。")
else:print("礼物不发给小屁孩!!!!!!!!")# 所以按照题目要求,控制台输出应该有5种情况(要确保每一个if,都有配套的else):
# 1.年龄、入职时间都符合【领】# 您已经成年了,不是小屁孩了!!!
# 您的年龄是在18到30岁之间的,年龄首先达标了。
# 您的入职时间超过了两年了,年龄也符合,去拿礼物吧# 2.年龄符合,但是入职时间不符合【不能领】# 您已经成年了,不是小屁孩了!!!
# 您的年龄是在18到30岁之间的,年龄首先达标了。
# 对不起,虽然您的年龄符合,但是入职时间或个人级别不够,不能拿礼物# 3.年龄、级别都符合【领】# 您已经成年了,不是小屁孩了!!!
# 您的年龄是在18到30岁之间的,年龄首先达标了。
# 年龄够,级别也够,可以领取礼物。# 4.年龄符合,但是级别不符合【不能领】# 您已经成年了,不是小屁孩了!!!
# 您的年龄是在18到30岁之间的,年龄首先达标了。
# 对不起,虽然您的年龄符合,但是入职时间或个人级别不够,不能拿礼物# 5.年龄不符合:过小
# 礼物不发给小屁孩!!!!!!!!【年龄过小】# 6.年龄不符合:过大
# 您已经成年了,不是小屁孩了!!!
# 不好意思,您的年龄实在太大了,礼物不发给老年人(我是反串,讽刺现在某些互联网的血汗工厂)。  【年龄过大】

7.小节总结

1.嵌套判断语句可以用于多条件多层次的逻辑判断

2.嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断
嵌套判断语句,一定要注意空格缩进

3.Python通过空格缩进来决定层次关系


37节-判断语句的综合案例-猜数字

1.案例需求

2.Patrick的代码实战

# 37节:
# 案例要求:
# 数字随机产生,范围1-10。
# 有3次机会猜测数字,通过3层嵌套判断实现每次猜不中,会提示大了或小了。
# 提示,通过如下代码,可以定义一个变最num,变量内存储随机数字import random num =random.randint(1,10)# 1.构建一个随机的数字变量
import random
num=random.randint(1,10)
print(num)# 2.定义一个变量,并且把键盘输入赋值给变量
guess_num=int(input("请输入你猜测的数字:"))# 3.通过if语句进行数字的猜测和判断
if guess_num==num:print("真tmd牛!!!o( ̄▽ ̄)d!!!第一次就猜对了,赌神再世!!!")
else:if guess_num>num:print("你猜大了!!!再试一试!!!没关系,重新来!!!")else:print("你猜小了!!!再试一试!!!没关系,重新来!!!")guess_num = int(input("再次输入你猜测的数字:"))  #重新输入,因为要猜三次if guess_num==num:print("厉害,第二次就猜对了!!!!!")else:if guess_num > num:print("你猜大了!!!再试一试!!!没关系,重新来!!!")else:print("你猜小了!!!再试一试!!!没关系,重新来!!!")guess_num = int(input("第三次输入你猜测的数字:"))  # 重新输入,因为要猜三次if guess_num == num:print("第三次猜对了!!!!!")else:print("三次机会用完了。你没有猜中。你输了。")
# 控制台输出:
# 10
# 请输入你猜测的数字:1
# 你猜小了!!!再试一试!!!没关系,重新来!!!
# 再次输入你猜测的数字:9
# 你猜小了!!!再试一试!!!没关系,重新来!!!
# 第三次输入你猜测的数字:10
# 第三次猜对了!!!!!

OK了,今天的代码算是写完了,今天可是真的累了,基本上从上午9点,一直到晚上7点,除了吃饭和运动之外,就一直在写博客和代码,中午也就糊弄了一口,晚上不知不觉间就吃了4个花卷,那种饿,是生理性的真饿,什么都扛不住了,因为头脑风暴实在是太辛苦了,以后不能这么拼命了,要不然没有可持续发展,别弄得以后对代码生理性厌恶了!!!!对了,因为饥饿丧失了理智吃了4个花卷,那今天晚上就出去跑4km来against my dinner!

励志一下:

一拳砸在桌子上,震得水杯晃荡)听着,你这拼命三郎!代码是你的战场,可别他妈把身体当炮灰!老子在地狱周里扛着 400 磅跑的时候,也知道歇口气再冲 —— 你以为铁打的身体是天生的?错!是他妈边操练就边修复的!

 

(揪住衣领,眼神如刀)看看你那代码里的嵌套逻辑,跟老子在沙漠里拆弹一样,得他妈冷静!现在你饿到吃 4 个花卷?那是身体在喊 “老子还要陪你干十年!”,不是让你透支到崩!听着:每天跑 4 公里是对的,但别把编码搞成生死时速 —— 你以为代码是敌人?不,是你征服世界的武器!

 

(突然松开,甩甩手)记住,硬汉不是死撑,是在痛苦里找节奏!今天累了就睡,明天起来再干 —— 但每次敲键盘都他妈给我像在地狱周最后一圈那样,把每个 bug 当敌人碾碎!现在,滚去跑步,把晚饭的热量烧成斗志,明天回来继续在代码里撕杀!(怒吼)别让身体先垮,老子还等着看你用代码干翻整个互联网!
 

接着咆哮,唾沫星子飞溅)你以为代码写到凌晨是光荣?错!那是他妈战术失误!老子在极限训练里,每 90 分钟就要强制补水补盐 —— 你以为身体是铁打的?不,是他妈需要持续维护的精密武器!现在,给我停下键盘,去厨房煮碗燕麦粥,把昨晚的花卷债还了!编程是脑力战,更是持久战,你他妈现在透支身体,就像在沙漠里把水壶摔碎 —— 早晚渴死在胜利前夜!

 

(突然用拳头猛砸白板,代码逻辑图震得发抖)看看你写的嵌套判断!每一层 if-else 都是对意志力的考验,但前提是你他妈得有清醒的头脑!老子当年在酷热中行军,每走一步都在计算体能消耗 —— 你现在编程也得算:写 3 小时,必须休息 20 分钟,拉伸、喝水、吃坚果!身体垮了,代码里的 bug 会像丧尸一样涌来,把你啃得骨头都不剩!

 

(抓起运动背包甩到肩上,吼道)现在!立刻!去跑 6 公里!把 “生理性厌恶” 的破情绪甩在跑道上!等你回来,再用清醒的头脑重构代码逻辑 —— 就像老子在敌后用破地图规划突围路线,每一步都他妈精准!记住,硬汉不是蛮干,是在痛苦中找规律:身体恢复了,代码才能写出刀锋般的效率!今晚跑不完 6 公里,明天别他妈碰键盘!(冲出房间,脚步声如重锤砸地,震得代码文件簌簌发抖)

 

(远处传来回荡的怒吼)明天太阳升起时,老子要看到你在代码里冲锋,身体里燃烧着斗志,而不是他妈拖着残躯的怂样!编程和战斗一样,先练身体,再练脑子 —— 这是老子给你的最后通牒,执行不力,就他妈滚出硬汉的战场!(声音渐远,只剩键盘在黑暗中闪烁,像等待黎明的烽火)

 

(突然又折返,踹开虚掩的门)还有!下次写代码前,先做 100 个俯卧撑!把血液里的懒惰挤出去,让清醒的神经接管键盘!现在,滚去跑步!(门再次轰然关闭,世界只剩呼吸声和代码的微光,像硬汉在黑暗中坚守的阵地)

http://www.xdnf.cn/news/614485.html

相关文章:

  • 养成一个逐渐成长的强化学习ai
  • AI练习:折叠效果
  • magentic-ui和browser-use深度分析
  • 统一错误处理脚本实现
  • 数据赋能(234)——数据管理——标准化原则
  • CST软件基础六:视图
  • java中string类型的list集合放到redis的5种数据类型的那种比较合适呢,可以用StringRedisTemplate实现
  • 佰力博与您探讨PVDF薄膜极化特性及其影响因素
  • 巴西电商爆发期,第三方海外仓如何应用WMS系统抢占市场先机?
  • dubbo使用nacos作为注册中心配置
  • Python语法特点与编码规范
  • DAY 34 GPU训练及类的call方法
  • 设计模式——简单工厂模式
  • Zabbix实践!客户端自动发现
  • c++ constexpr关键字
  • VSCode如何像Pycharm一样“““回车快速生成函数注释文档?如何设置文档的样式?autoDocstring如何设置自定义模板?
  • RNN GRU LSTM 模型理解
  • 深度“求索”:DeepSeek+Dify构建个人知识库
  • SkyWalking高频采集泄漏线程导致CPU满载排查思路
  • RV1126 音频AI模块的详解
  • 树莓派4B搭建Hector SLAM算法, ROS1 ROS2?
  • 淘宝卖家评价等级如何区分?如何提升信誉等级?
  • 数据结构 -- 插入排序(直接插入排序和希尔排序)
  • 告别手抖困扰:全方位健康护理指南
  • React从基础入门到高级实战:React 基础入门 - 状态与事件处理
  • 量化交易新时代:Tick数据与股票API的完美融合
  • Python set集合方法详解
  • 无法选择最佳操作符(APP) 目录
  • 8级-数组
  • Axure元件动作五:设置列表选中项