全局Python列表

2024-10-06 12:14:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要一些帮助来完成这个我一直坚持的功能。你知道吗

我需要做三个过程,一个是根据输入的奇数或偶数来切换每个播放器,这是可行的,但是,我不知道如何替换和填充与batsmanBatting列表相关的batsmanName占位符,如果使用了一个wicket,它将更改为batsmanName列表中的下一个元素(如果使用了wicket,它将由用户添加)。你知道吗

最后一个过程是将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.")

Tags: 列表forinputif过程runsglobalint
1条回答
网友
1楼 · 发布于 2024-10-06 12:14:29

要将名称添加到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

可能有更好的方法。或者不,我不懂板球。你知道吗

相关问题 更多 >