美文网首页Python 学习笔记
2020-06-30 Python学习笔记10

2020-06-30 Python学习笔记10

作者: 建渐升辉 | 来源:发表于2020-06-30 22:50 被阅读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)

    相关文章

      网友评论

        本文标题:2020-06-30 Python学习笔记10

        本文链接:https://www.haomeiwen.com/subject/ecmfqktx.html