【问题标题】:Python Text-Based Baseball Game - Flipping Booleans基于 Python 文本的棒球比赛 - 翻转布尔值
【发布时间】:2017-04-01 07:22:42
【问题描述】:

我和我的朋友正在用 Python 制作一个基于文本的棒球游戏。我们正试图弄清楚如何管理基地的跑步者。我们在考虑是否最好的方法是拥有一个布尔值列表并根据游戏是单人、双人等来翻转它们。任何帮助将不胜感激! 前任。 bases = [False,False,False] if hit == single: bases = [True,False,False] 我们发现很难考虑所有可能的跑步者组合

【问题讨论】:

  • 我是这么想的,但那会翻转每一个。如果我们没有人在基地并且命中是单一的,那么只有第一个会翻转
  • 这个问题对我来说非常广泛。有一百万种方法可以做到这一点。这完全取决于你的球员和规则是如何设置的......
  • 很抱歉,我的老师并不是真正的编程老师。他是一名金融老师,试图学习 + 教我们 Python

标签: python list boolean


【解决方案1】:
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

来自collectionsdeque 非常适合您想做的事情。您基本上可以移动列表并将成员添加到第一垒。

rotate() 接受一个整数,无论​​是正数还是负数,并将列表向左或向右移动多次。

如果我是你,让它包括一个本垒板,这样你就可以把它弹出来得分或不得分。如果你需要 dequepopleft()popright() 方法来从列表中删除最左边或最右边的项目。

【讨论】:

  • 哇,这太有用了,我会试试看。非常感谢
猜你喜欢
  • 2021-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-30
  • 2018-02-19
  • 2022-01-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多