0

这是我第二次尝试问这个问题,希望这次能更简洁。

我有一个板球得分计算器的击球手列表,我正在尝试启动和运行。例如。

    batsmen = ['S Ganguly', 'M Brown', 'R Uthappa', 'A Majumdar', 'S Smith', 'A Mathews', 'M Manhas', 'W Parnell', 'B Kumar', 'M Kartik', 'A Nehra']

有了这个列表,我有一个 for 循环,我目前在没有列表的情况下运行它,它只能计算 2 个团队并找到一个获胜者。

    for overs in range(overlimit):
       for balls in range(6):
          balls_team = balls_team+ 1
          runtotal_team = input('Enter runs: ')

我正在尝试利用该列表作为保持得分以及为每个击球手保持价值的手段。

我希望你们中的一个可以提供帮助。我假设可以使用while循环,但我无法弄清楚如何实现列表..

4

3 回答 3

4

字典?

batsmenDict = {
 'A Majumdar': 0,
 'A Mathews': 0,
 'A Nehra': 0,
 'B Kumar': 0,
 'M Brown': 0,
 'M Kartik': 0,
 'M Manhas': 0,
 'R Uthappa': 0,
 'S Ganguly': 0,
 'S Smith': 0,
 'W Parnell': 0}

batsmenDict['M Manhas'] += 1

甚至还有一种称为 defaultdict 的特殊集合类型,它可以让您为每个玩家设置默认值 0:

from collections import defaultdict

batsmenDict = defaultdict(int)
print batsmenDict['R Uthappa']
# 0
batsmenDict['R Uthappa'] +=1 
print batsmenDict['R Uthappa']
# 1
于 2012-05-14T22:11:30.207 回答
1

您想使用 a dict,那么击球手的名字可以成为 dict 的键,并且他们的运行/得分值。

于 2012-05-14T22:10:57.140 回答
0

使用字典

>>> batsmen = [ ... ]
>>> d = dict.fromkeys(batsmen)
>>> d['A Mathews'] = 14
>>> d['A Mathews']
14
于 2012-05-14T22:13:41.287 回答