制作一个与世界杯相关的节目

2024-10-03 21:33:35 发布

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

我只想打印出2019年世界杯上所有的参赛队对,我为此制作了一个简单的程序,但其中有一点问题。问题是,一对参赛队在打印出来后会重复一次(反之亦然)。就像这样--

印度澳大利亚 ----在一些其他的指纹之后---- 澳大利亚印度

还有一个名单包括在这个计划,但这个网站没有显示

team = ["INDIA", "AUSTRALIA", "ENGLAND", "PAKISTAN", "SOUTH AFRICA", "AFGHANISTAN", "WEST INDIES", "SRI LANKA", "NEW ZEALAND", "BANGLADESH"]
team1 = ["INDIA", "AUSTRALIA", "ENGLAND", "PAKISTAN", "SOUTH AFRICA", "AFGHANISTAN", "WEST INDIES", "SRI LANKA", "NEW ZEALAND", "BANGLADESH"]
print(team)

for x in team:
  for y in team1:
    if x == y:
      continue
    print(x, y)

Tags: newteamwestsouthsriindiaaustraliaafrica
2条回答

您可以使用itertools.combinations()打印两个的所有组合

import itertools

team1 = ["INDIA", "AUSTRALIA", "ENGLAND", "PAKISTAN", "SOUTH AFRICA", "AFGHANISTAN", "WEST INDIES", "SRI LANKA", "NEW ZEALAND", "BANGLADESH"]

print(list(itertools.combinations(team1, 2)))

对于外循环的每一次新迭代,内循环都从列表的开始处开始,因此重复对,您可以改为按索引循环,并避免重复置换对和两个元素相等的对:

team1 = ["INDIA", "AUSTRALIA", "ENGLAND", "PAKISTAN", "SOUTH AFRICA", "AFGHANISTAN", "WEST INDIES", "SRI LANKA", "NEW ZEALAND", "BANGLADESH"]

for i in range(len(team1) - 1):
  for j in range(i + 1, len(team1)):
    print(team1[i], team1[j])

输出:

INDIA AUSTRALIA
INDIA ENGLAND
INDIA PAKISTAN
INDIA SOUTH AFRICA
INDIA AFGHANISTAN
INDIA WEST INDIES
INDIA SRI LANKA
INDIA NEW ZEALAND
INDIA BANGLADESH
AUSTRALIA ENGLAND
AUSTRALIA PAKISTAN
AUSTRALIA SOUTH AFRICA
AUSTRALIA AFGHANISTAN
AUSTRALIA WEST INDIES
AUSTRALIA SRI LANKA
AUSTRALIA NEW ZEALAND
AUSTRALIA BANGLADESH
ENGLAND PAKISTAN
ENGLAND SOUTH AFRICA
ENGLAND AFGHANISTAN
ENGLAND WEST INDIES
ENGLAND SRI LANKA
ENGLAND NEW ZEALAND
ENGLAND BANGLADESH
PAKISTAN SOUTH AFRICA
PAKISTAN AFGHANISTAN
PAKISTAN WEST INDIES
PAKISTAN SRI LANKA
PAKISTAN NEW ZEALAND
PAKISTAN BANGLADESH
SOUTH AFRICA AFGHANISTAN
SOUTH AFRICA WEST INDIES
SOUTH AFRICA SRI LANKA
SOUTH AFRICA NEW ZEALAND
SOUTH AFRICA BANGLADESH
AFGHANISTAN WEST INDIES
AFGHANISTAN SRI LANKA
AFGHANISTAN NEW ZEALAND
AFGHANISTAN BANGLADESH
WEST INDIES SRI LANKA
WEST INDIES NEW ZEALAND
WEST INDIES BANGLADESH
SRI LANKA NEW ZEALAND
SRI LANKA BANGLADESH
NEW ZEALAND BANGLADESH

相关问题 更多 >