在Python中,如何将列表的前2个元素添加到一起,然后是前4个元素,然后是前6个元素,依此类推?

在Python中,如何将列表的前2个元素添加到一起,然后是前4个元素,然后是前6个元素,依此类推?,python,Python,我正在做一个游戏,两个玩家轮流在跑步总数中加上1到10。加起来得到100分的玩家获胜。我将玩家的输入存储在一个列表中,在游戏结束时,我想在每次回合后显示总数。该列表的格式如下: allTurns = [player1move1, player2move1, player1move2, player2move2, ...] 如何仅添加前2个元素并显示它们,然后仅添加前4个元素并显示它们,然后添加前6个元素,依此类推 allTurns = [1,2,3,6,12,23] out = [] for

我正在做一个游戏,两个玩家轮流在跑步总数中加上1到10。加起来得到100分的玩家获胜。我将玩家的输入存储在一个列表中,在游戏结束时,我想在每次回合后显示总数。该列表的格式如下:

allTurns = [player1move1, player2move1, player1move2, player2move2, ...]
如何仅添加前2个元素并显示它们,然后仅添加前4个元素并显示它们,然后添加前6个元素,依此类推

allTurns = [1,2,3,6,12,23]
out = []

for n in range(len(allTurns)):
    if n % 2 is 1:
        out.append(allTurns[n] + allTurns[n-1])

if len(allTurns) % 2 is 1:
    out.append(allTurns[-1])

print(out)
allTurns = [1,2,3,6,12,23,4]
out = []

for n in allTurns:
    if allTurns.index(n) % 2 is 0:
        i = 0
        for a in range(allTurns.index(n)+2):
            try:
                i=i+allTurns[a]
            except IndexError:
                pass
        out.append(i)

print(out)
我对它进行了编码,这样它可以在任何情况下工作,而不仅仅是在你的情况下

for i in range(0, len(list)):
    if i % 2 == 0:
        print(sum(list[:i+1]))

试试这个:

allTurns = [1,2,3,6,12,23]
out = []

for n in range(len(allTurns)):
    if n % 2 is 1:
        out.append(allTurns[n] + allTurns[n-1])

if len(allTurns) % 2 is 1:
    out.append(allTurns[-1])

print(out)
allTurns = [1,2,3,6,12,23,4]
out = []

for n in allTurns:
    if allTurns.index(n) % 2 is 0:
        i = 0
        for a in range(allTurns.index(n)+2):
            try:
                i=i+allTurns[a]
            except IndexError:
                pass
        out.append(i)

print(out)

这可能很简单。

你试过什么吗?发生了什么事?@jornsharpe我已经尝试过在0范围内使用I,counter,然后运行total+=list[I]并在每次迭代中递增计数器2。但是,我得到了不正确的值,所以在问题中加入a,但这不会只添加元素1和2,然后是3和4,然后是5和6吗?我试着加1和2,然后加1,2,3和4,然后加1,2,3,4,5和6。抱歉,如果问题中不清楚的话。如果最后一个项目的项目数为奇数,它是否应该忽略它?谢谢!第一个成功了,太棒了。第二种方法可能对大列表更有效,但你看不出小列表有什么不同。另外,你介意标记我的答案吗?