如何在整个代码中进行while循环。 (蟒蛇)

时间:2019-05-27 17:25:09

标签: python function while-loop break

我目前正在制作一款基于文本的游戏,内容涉及在废弃的房屋中穿行,并找到怪物守卫的物品等等。我想要一个while循环系统,如果您的健康状况低于0(health=20),则代码以说"You died to (insert event here)"结尾。我是python编码的新手,所以我不确定如何编码。

我尝试使用if语句设置while循环,以检查运行状况是否低于0。这位于变量下方和函数上方的代码顶部附近

health = 20 #variable

while ( health < 0):
    print("You died to [insert event here]\n")
    break

它完全不执行任何操作,而是完全忽略了它。我不确定如何将代码放入函数中,因为我仍然需要使用“全局”将变量导入到函数中。如果您知道此问题的答案,或者您知道解决该问题的替代代码,请告诉我。同样,我是python新手,请以一种我能理解的方式进行解释。

3 个答案:

答案 0 :(得分:0)

首先,global关键字只是为函数提供 write 访问变量的权限。他们始终可以读取已在任何其他类/函数范围之外声明的变量。

我想您想要的是以下内容:

  • 检查健康状况
  • 运行其余代码
  • 检查健康状况
  • 运行其余代码

无限无限...

如上所述,您当前正在做的事情是:

  • 检查健康状况
  • 运行其余代码

您将如何执行此操作:

while(health > lower_limit):
    [the rest of the code]

print("you died") # game over

这样,“当运行状况超过下限时,[其余代码]将运行”。

答案 1 :(得分:0)

您可以将其编写为:

health = 20
while health > 0:
    print("You died to XYZ")
    health -= 1

这将打印"You died to XYZ" 20次,因为循环将从运行状况= 20到运行状况= 0运行20次。

但是,健康状况<0会将其视为零结果,因为python理解运行直到健康状况为零的循环。

答案 2 :(得分:0)

我认为这不是一个详细解释为什么该代码不起作用的好地方。相反,请考虑以下游戏作为示例:

def adventure_around(pit_limit = 5, initial_position = 0):
    position = initial_position
    lived = False
    print("Try not to die, noob!")
    while position < pit_limit:
        direction = input("Which way would you like to go? [n,s,e,w, or q]:")
        if direction not in ['n', 's', 'e', 'w', 'q']:
            print("Please choose a direction.")
            continue
        if direction == "n":
            position += 1
        if direction == 's':
            position -= 1
        if direction == "q":
            print("Coward! (You lived, though.)")
            lived = True
            break
    if not lived:
        print("You fell into a pit and died while bravely wandering about! RIP")

adventure_around()

将其提供给您的python解释器,并对其进行处理。 (几分钟的乐趣!)然后研究代码。 (搜索也不是欺骗!)while关键字有什么作用?外部代码中的信息如何传递给函数?为什么有两种方法退出while循环?那是个好主意吗?有没有更好的方法来更新位置? lived是否需要初始化?为什么或者为什么不?如果可以,请继续进行修改以适合您的目的。虽然我认为 global health变量不是最佳选择,但请尝试更改代码,使其使用global关键字引用全局{{ 1}}变量。在使它正常工作时,您收到什么错误消息?在拥有数十,数百或数千个文件的大型游戏中,您将如何处理?

打猎好!