这是我到目前为止所得到的。这个游戏可以有多个玩家到len(玩家)。
我希望每次都能不断提醒不同的玩家。 所以,例如,如果有3个玩家A B C,如果是玩家A转,我希望下一个玩家是玩家B,然后下一个玩家是C,然后循环回玩家A.
仅使用while循环,if语句和布尔值。
PLAYERS ='ABCD'
def next_gamer(gamer):
count = 0
while count < len(GAMERS):
if gamer == GAMERS[0]:
return GAMERS[count + 1]
if gamer == GAMERS[-1]
return GAMER[0]
count = count + 1
答案 0 :(得分:2)
如果您不能使用.index()方法,我认为您要做的是:
def next_gamer(gamer):
count = 0
while count < len(GAMERS):
if gamer == GAMERS[count]:
return GAMERS[count + 1]
count = count + 1
return GAMERS[0]
答案 1 :(得分:0)
我对上一个问题的解决方案,涉及发电机:
turn=0
def gameIsFinished():
global turn
turn = turn+1
return turn >10
def cycle(iterable):
while True:
for item in iterable:
if gameIsFinished():
return
yield item
for player in cycle([1,2,3]):
print player
答案 2 :(得分:0)
你可以让你的函数使用一个简单的语句返回你的列表GAMERS中的下一个游戏玩家,无论你当前在游戏中玩哪个玩家都可以使用它:
返回GAMERS [GAMERS.index(游戏玩家)+1]
除非当前游戏玩家是列表中的最后一个,您可以使用以下if语句进行测试:
如果GAMERS.index(游戏玩家)== len(游戏玩家) - 1:
返回GAMERS [0]
在这种情况下,您将返回第一个游戏玩家。