gpt4 book ai didi

如果两个列表中满足条件,python将跳过循环中的下一个索引

转载 作者:行者123 更新时间:2023-12-02 18:44:15 24 4
gpt4 key购买 nike

我是 python 新手,所以我不确定这是否是最好的方法。

我有 2 个具有相同数量值的列表。我想比较 2 个列表中每个索引的值,即玩家 1 到玩家 2 的索引 1,玩家 1 到玩家 2 的索引 2 等等。

如果玩家 1 和玩家 2 值的索引 1 匹配,则添加 2 分并跳过两个列表上的下一个索引。如果索引 1 的两个值都匹配,则无法确定如何跳过下一个索引。请帮忙。

这是我的代码:

player1 = ['yes', 'deal', 'no', 'no deal', 'no', 'deal']
player2 = ['yes', 'no deal', 'yes', 'deal', 'no', 'deal']

count = 0
skip_count = 0

for i in range(len(player1)):
if player1[i] == player2[i]:
count += 2
skip_count = 0
else:
count += 1

当我打印计数时,它不会像我想要的那样跳过任何想法?

最佳答案

您可以使用zip()创建一个生成器,它将成对迭代两个列表。当满足条件时,您可以使用 next()在迭代器中生成下一个对,“跳过”该对:

player1 = ['yes', 'deal', 'no', 'no deal', 'no', 'deal']
player2 = ['yes', 'no deal', 'yes', 'deal', 'no', 'deal']
pairs = zip(player1, player2)
count = 0
for a, b in pairs:
if a == b:
count += 2
next(pairs, None)
elif a != b:
count += 1
comp = next(pairs, True)
if 'deal' and 'deal' in comp:
count += -2
break
elif 'no deal' and 'deal' in comp:
count += -1
break
elif 'no deal' and 'no deal' in comp:
count += 0
break
else:
break
else:
break
print(count)

关于如果两个列表中满足条件,python将跳过循环中的下一个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67666088/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com