Python 学习笔记

2020-06-30 Python学习笔记10

2020-06-30  本文已影响0人  建渐升辉

一些关于自己学习Python的经历的内容,遇到的问题和思考等,方便以后查询和复习。

声明:本人学习是在扇贝编程通过网络学习的,相关的知识、案例来源于扇贝编程。如果使用请说明来源。

第十关:(条件分支)章节回顾

练习:小红帽武器选择:

def choose_equipment(HP, AT):

  if AT > 1000:

    weapon = '苹果炸弹'

  if AT <= 1000:

    weapon = '万能魔杖'

  # 补充选择披风的判断

  if HP > 800:

    cloak = '外婆的红斗篷'

  if HP <= 800:

    cloak = '高级巫师袍'

  print('今天小红帽选择的装备是' + weapon + '和' + cloak)

choose_equipment(789, 1435)

答案是用的是if…else,而我用的全部是if,这个也可以,因为elif和else是可选项。

但是答案更为规范,由if和else构成一个模块

def choose_equipment(HP, AT):

  if AT > 1000:

    weapon = '苹果炸弹'

  else:

    weapon = '万能魔杖'

  # 补充选择披风的判断

  if HP > 800:

    cloak = '外婆的红斗篷'

  else:

    cloak = '高级巫师袍'

    print('今天小红帽选择的装备是' + weapon + '和' + cloak)

HP = int(input('请输入HP值:'))

AT = int(input('请输入AT值:'))

choose_equipment(HP, AT)

修改一下,这样可以随意搭配相关值

在编写程序的时候,一开始是input函数没有用括号,后来倒数第二行中少了半个括号

但是奇怪的时候报错说:最后一行有坏的(不正确)的输入。

练习:有没有优惠

discount(time, is_adventurer):

  # 按要求补全代码

  if time >= 9 and time <= 15:

    if is_adventurer == True:

      print('冒险者八折')

    else:

      print('优惠九折')

  else:

    print('没有优惠')

is_adventurer = input('请输入游客类型:')

discount(12, is_adventurer)

想改成是可以输入变量值的形式,但是到处第二行不太好弄,这里有布尔表达式和赋值在里面,和定量的变量赋值不太一样了

缩进/冒号和赋值

enemy = '镜妖'

if enemy == '银狼' or enemy == '黑魔法师':

  print('使用火球术进行攻击')

elif enemy == '镜妖':

  print('使用荆棘术进行攻击')

else:

  print('使用苹果炸弹进行攻击')

原始的:

enemy = '镜妖'

if enemy = '银狼' or enemy = '黑魔法师'

#没有缩进,相等用==,最后有英文冒号

print('使用火球术进行攻击')

# 需要缩进

else enemy = '镜妖'

# 多分支选择,中间的用elif,后面用英文冒号

print('使用荆棘术进行攻击')

#需要缩进

else

#多分支选择,最后一个用else,后面要有英文冒号

print('使用苹果炸弹进行攻击')

#需要缩进

例子:运算结果是?

def func(x, y):

  if x:

    if y > 10:

      print('panda')

    else:

      print('bear')

  else:

    print('monkey')

func(0, 35)

考察 if 嵌套,因为 x=0,布尔运算的值为 False,所以直接执行外层的 else 语句。

word_1 = 'panda'

word_2 = 'bear'

answer = 'a' in word_1 and 'e' in word_2

print(answer)

使用in给变量赋值

小红帽需要根据 HP 值选择披风和靴子:如果 HP > 800,就选择披风 A,否则选择披风 B;在小红帽选择了披风 A 的前提下,若 HP < 1000,就选择靴子 A,否则选择靴子 B。

例子:怎样写代码更合适呢?

只有在选择披风 A 的前提下,才会进行靴子的选择,这说明前一个选择的结果会对后面的选择造成影响。所以我们要将 HP > 800 作为嵌套条件中的外层条件,将 HP < 1000 作为内层条件,完成装备选择。

if HP > 800:

  print('选择披风 A')

  if HP < 1000:

    print('选择靴子 A')

  else:

    print('选择靴子 B')

else:

  print('选择披风 B')

练习:小红帽打怪

在编程之前先想好结构,条件等

菱形是决策框,一个菱形就是一层嵌套

ending_normal = '小红帽没有打怪,采采蘑菇就回了家'

ending_wolf = '小红帽使用技能“荆棘术”打败了灰狼'

ending_dragon_1 = '小红帽使用技能“火球术”打败了黑龙'

ending_dragon_2 = '小红帽使用技能“隐形术”躲过了黑龙,安全回到家中'

answer_1 = input('小红帽探险时遇到敌人了吗?回答有/没有:')

if answer_1 == '有':  #第一层

  answer_2 = input('小红帽遇见的敌人是谁?回答灰狼/黑龙')

  if answer_2 == '灰狼': #第二层

    print(ending_wolf)

  else:

    answer_3 = input('小红帽带上万能魔杖了吗?回答带了/没带')

    if answer_3 == '带了':   # 第三层

      print(ending_dragon_1)

    else:

      print(ending_dragon_2)

else:

  print(ending_normal)

上一篇下一篇

猜你喜欢

热点阅读