我和朋友正在用Python编写基于文本的棒球游戏。我们正在设法弄清楚如何在基地上管理跑步者。我们正在考虑是否最好的方法是制作一个布尔的列表,并根据游戏是单人游戏,双人游戏等来翻转它们。任何帮助将不胜感激!例如, bases = [False,False,False] if hit == single: bases = [True,False,False]
我们发现很难考虑对基础Python基于文本的棒球游戏 - 翻转布尔值
-3
A
回答
0
from collections import deque
bases = [False, False, True]
playing_field = deque(bases)
print(playing_field) #deque([False, False, True])
playing_field.rotate(-1)
print(playing_field) #deque([False, True, False])
#can use it like a list:
print(playing_field[0]) #False
deque
选手的所有可能的组合从collections
是完美的你想要做什么。你基本上可以移动列表并添加一个成员到第一个基地。
rotate()
需要一个整数,正数或负数,并将列表多次左移或右移。
如果我是你,让它包括本垒,所以你可以弹出它并得分或什么不是。如果您需要deque
具有popleft()
和popright()
方法可以将列表中最左边或最右边的项目从字面上取走。
+0
哇这是非常有用的,我会试试看。非常感激 – lilsnyderio
我在想,但那会翻转每一个。如果我们没有一个人,并且命中是一个单一的,只有第一个会翻转 – lilsnyderio
这个问题对我来说是非常广泛的。有一百万种方法可以做到这一点。这一切都取决于你的球员和规则如何建立... – MooingRawr
我很抱歉,但我的老师不是一个实际的编程老师。他是一位想要学习的金融老师+教我们Python – lilsnyderio