if与elif搭配,只要有一个条件判断为真后面的就跳过不执行了
第一次输入taunt bear,将bear_moved的值修改成了True
第二次输入taunt bear时,条件就变成了 choice == “taunt bear”和 (bear_moved = True),第一个条件choice为True bear_moved也为True,在进行and运算,得到的就是True,所以执行的是第二个elif
至于第二次报错,不清楚你写的dead("字符串内容"),这里面dead表示什么
if语句自上而下执行,
如果匹配if的条件,则执行if代码段的语句
不匹配,则判断是否匹配下一个elif的条件,依次类推
如果最终都不匹配则会执行else代码段的语句。
总而言之,顺序是自上而下的。