扇贝编程python学习笔记-基础篇8

聚沙成塔 集腋成裘

第十关

知识点复习
学习用时:30min
随堂测验+上机作业:30min
随堂作业正确率:8/10

1.嵌套条件

  嵌套条件的重点在于,只有当外层条件成立时,才有可能进入到内层条件当中继续执行。执行过程大概如下:

干完了
没干完
今天的活干完了吗
口袋里还有钱吗
晚餐加鸡腿
去码头搞点薯条
口袋里还有钱吗
外卖加蛋
不干活,就没饭吃

嵌套条件在写代码的过程中大概分为以下四步:

  • 确定外层条件
  • 对外层条件使用条件语句建立分支结构
  • 确定内层条件,建立分支结构
  • 将内层条件及分支结构写进外层条件对应的分支里

  关于if ……else 循环与 if…elif…else多路分支的区别: 多路分支节约资源,多路分支适合用来解决“多选一”的问题

  如果计算机只需要做 一次多选一问题,就可以用 if … elif … else 语句将各个选项整合到一个多路分支中,在这个过程中,我们需要让计算机先检查最难满足的条件,这样才能保证程序运行与我们的预期相符,并且提高代码效率

#充 1000 返 300 ,充 500 返 100 ,充 100 返 20 ,但是第一段代码并不是检查最难满足的条件。所以输出充1000返20
recharge = 1000

if recharge >= 100:
  rebate = 20
elif recharge >= 500:
  rebate = 100
elif recharge >= 1000:
  rebate = 300

print(rebate)

#改后如下-------------------------------------------------
recharge = 1000
if recharge >= 1000:
  rebate = 300
elif recharge >= 500:
  rebate = 100
elif recharge >= 100:
  rebate = 20

print(rebate)

2.常见错误

  • 忘记条件后或 else 后的冒号: SyntaxError报错line 行数
  • 代码缩进错误 IndentationError
  • 嵌套中缩进错误 SyntaxError: invalid syntax
  • 搞混=赋值 与==判断
  • 搞不清 bool(’’) -->0(代表无内容 False)和 bool(’ ') --1(代表有内容 True)

3.练习

  • 年龄在 30 岁(含)以下,50 米跑成绩 ≤ 11 秒,且 1000 米跑成绩 ≤ 4 分钟,最终成绩为达标,否则为不达标
  • 年龄在 31 岁(含)以上,50 米跑成绩 ≤ 11.5 秒,且 1000 米跑成绩 ≤ 4.5 分钟,最终成绩为达标,否则为不达标
def check_test(age, run_50, run_1000):
  if age >= 31:
    if run_50 <=11.5 and run_1000<=4.5:
      print("达标")
    else:
      print("不达标")
  else:
    if run_50 <=11 and run_1000<=4:
      print("达标")
    else:
      print("不达标")
    

check_test(22, 10, 4)
  • 月用电量在 50 度以内部分(包含 50 度),单价按 0.48 元/度计算
  • 月用电量在 50 度到 200 度部分(包含 200 度),单价按 0.51 元/度计算
  • 月用电量在 200 度以上部分,单价按 0.68 元/度计算
#这次是忘记了return  ::>_<::

def calc_price(power):
  if power<50:
    price = power*0.48
  elif 50<power<200:
    price = 50*0.48+ (power-50)*0.51

  else:
    price = 50*0.48+ 150*0.51 + (power-200)*0.68
  return price
  
print(calc_price(155))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值