如何让'x生命离开'

时间:2014-11-17 00:34:51

标签: python python-2.7

让我们说我在玩游戏时有5条生命。 life ='-----'

每次我死,它都会变成

life ='x ----',然后life ='xx ---'等等

在游戏开始时,它会询问用户他们想要多少生命。

我不知道怎么做... 有人知道吗?

4 个答案:

答案 0 :(得分:2)

存储lives中剩余的生命数,以及MAX_LIVES中的最大生命数。然后你就这样做了:

life = 'X' * (MAX_LIVES - lives) + '-' * lives

最好不要将数字信息存储为字符串,这会迫使您需要在某些时候将其解析回数字,并且可能导致一大堆难以修复的错误。将数值存储为数字并将其转换为需要时显示。

另一种方法是对字符串使用format方法:

'{0:X<{1}}'.format('-' * lives, MAX_LIVES)

这意味着“获取第一个参数,并使用'X'个字符将其填入右侧,直到它是第二个参数中指定的宽度。”

答案 1 :(得分:0)

你可以使用两个计数器,一个用于剩下的生命,一个用于丢失生命:

startLives = 5
livesLost = 0
livesRemaining = 5

life = "-----"

def loseLife():
    livesLost += 1
    livesRemaining -= 1

def printLifeCounter:
    life = 'x' * livesLost + '-' * livesRemaining

答案 2 :(得分:0)

一开始:

life = n * "-" # n - number of lives user entered

每当用户失去生命时,请给我打电话:

def dieonce(left_lives):
  return ((N-left_lives) * "x") + (left_lives * "-")

答案 3 :(得分:0)

与某些人所说的相反。如果你需要构建这个字符串以供显示,那么存储数值也不一定有多大优势。

>>> numlives = 5
>>> life = '-' * numlives
>>> life = 'x' + life[:-1]
>>> life
'x----'
>>> life = 'x' + life[:-1]
>>> life
'xx---'
>>> life = 'x' + life[:-1]
>>> life
'xxx--'
>>> life = 'x' + life[:-1]
>>> life
'xxxx-'
>>> life = 'x' + life[:-1]
>>> life
'xxxxx'

life[-1] == 'x'你死了

>>> life[-1]
'x'