Python根据输入切换输出

时间:2016-12-17 06:53:44

标签: python function

当一个函数切换当前播放器时,我们可以在一行中编写以下代码吗?

    def switch_user(self,current):
       if self.current == 'Player-1':
              self.current = 'Player-2'
      elif self.current == 'Player-2':
           self.current = 'Player-1'
    return

2 个答案:

答案 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()

通过这种方式,您可以添加第三个播放器或使播放器对象随着时间的推移变得更加复杂而无需重做切换功能。