停留在一个简单的if语句python3上

2024-04-25 19:07:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python很陌生,我一直在想从哪里问这个问题。 嗯,我对这个小小的if语句有点小困难。在

我已经把它分解了,因为完整的if语句将在这个小文本RPG游戏中使用。在

health = 50

if(health > 100):
    health = 100
    print (health)

print (health)

我要做的就是让健康永远不会超过100。 但是打字呢

^{pr2}$

IF语句还没有被调用。 我知道对于任何有经验的Python开发人员来说,这可能是一个非常简单的修复方法,但我实在无法对此了如指掌。在

谢谢, 阿莫斯。在


Tags: 方法文本游戏if开发人员经验语句rpg
1条回答
网友
1楼 · 发布于 2024-04-25 19:07:31

当您将health设置为150时,if语句不会自动运行。您需要再次显式地执行它来限制健康值。在

你可以把它变成一个函数:

def limit_health(health):
    if health < 0:
        health = 0
    if health > 100:
        health = 100
    return health

health = limit_health(150)

或者您可以使用min()来防止健康值超过100:

^{pr2}$

如果您不反对使用类,请将health作为播放器的属性:

class Player(object):
     MAX_HEALTH = 100 

     def __init__(self):
         # players start out with maximum health
         self.health = self.MAX_HEALTH

     # other things players track and can do

     @property
     def health(self):
         return self._health

     @health.setter
     def health(self, new_health):
         # limit health to MAX_HEALTH at most
         self._health = min(new_health, self.MAX_HEALTH)

那么每当你设置player.health时,它就会自动为你限制。在

相关问题 更多 >