1

我需要一些帮助来解决我坚持的这个功能。

我需要做三个过程,一个是根据输入的奇数或偶数运行来切换每个玩家,这是可行的,但是,我不知道如何替换和填充与列表batsmanName相关的占位符batsmanBatting,如果取了一个检票口,它会改变到batsmanName列表中的下一个元素(如果采取检票口,则由用户添加)。

最后的过程是将batsmanRun相关指标中的得分添加到击球手的击球中,即如果batsmanBatting[4]是'T'batsmanRun[4]则应按此累积。

我希望我已经清楚地解释了这一点并且有意义,如果不是我可以添加更多信息,任何帮助将不胜感激。

def getRuns(totalScore):

    global batsmanName  #[] empty list a function adds a player if a wicket is taken
    global batsmanRun #[0,0,0,0,0,0,0,0,0,0,0] #accumulators 
    global batsmanBatting #['F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F'] 
    global batsmanOnField #['F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F', 'F']
    global wickets

    while(1):
        try:
            if(totalScore%2==0):
                print(batsmanBatting)
                runs=int(input("\nEnter runs for striker %s: " % batsmanName[0]))
                batsmanRun[0]+=runs
                print(batsmanRun)
            else:
                print(batsmanBatting)
                runs=int(input("\nEnter runs for striker %s: " % batsmanName[1]))
                batsmanRun[1]+=runs
                print(batsmanRun)
            if(runs<7):    
                return runs 
            else:
                print("Invalid run(s) entered. Please try again.")
        except Exception as err:
                print(err)
                print("Please try again.")
4

1 回答 1

1

要将名称添加到batsmanName列表中,请执行

batsmanName.append('Mr Batsman')

如果它是一个真正的占位符,那么不要使用列表,使用None或空字符串。在这种情况下,您通过分配它来更新它:

batsmanName = 'Mr Batsman'

对于你的第二个问题(你真的应该单独提出单独的问题),不清楚“如果 batsmanBatting[4] 是 'T' 那么 batsmanRun[4] 应该根据”是什么意思,但我想这意味着:

for num, state in enumerate(batsmanBatting):
    if state == 'T':
        batsmanRun[num] += 1

可能有更好的方法来做到这一点。或者不是,我不知道板球。

于 2012-05-18T10:34:52.533 回答