让我们说我在玩游戏时有5条生命。 life ='-----'
每次我死,它都会变成
life ='x ----',然后life ='xx ---'等等
在游戏开始时,它会询问用户他们想要多少生命。
我不知道怎么做... 有人知道吗?
答案 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'