当一个函数切换当前播放器时,我们可以在一行中编写以下代码吗?
def switch_user(self,current):
if self.current == 'Player-1':
self.current = 'Player-2'
elif self.current == 'Player-2':
self.current = 'Player-1'
return
答案 0 :(得分:2)
self.current = 'Player-2' if self.current == 'Player-1' else 'Player-1'
答案 1 :(得分:1)
为了让多个玩家可以扩展,我会使用itertools标准库https://docs.python.org/2/library/itertools.html#itertools.cycle中的cycle
from itertools import cycle
players_cycle = cycle(['Player-1', 'Player-2'])
current = players_cycle()
通过这种方式,您可以添加第三个播放器或使播放器对象随着时间的推移变得更加复杂而无需重做切换功能。