带有多个项目/请求的Python输入



我是Python编程的新手,我被困在以下内容:

我有一个条目列表作为输入,它由空换行符分隔,如下所示:

input = """Andrew
Bob
Chanel
Danielle
Andrew Chanel 1 0
Danielle Bob 0 1
Andrew Danielle 0.5 0.5
Chanel Bob 1 0
Andrew Bob 0.5 0.5
Chanel Danielle"""

在这个输入中,前4行应该被视为一个名为result的类中所有玩家的名字,并带有一个名为name的字符串。然而,在第一个空换行符之后,它给出了两个玩家的名字,然后是他们的结果(1 =赢,0 =输,都是0.5 =平局)。每个换行符都是一场新的战斗,直到出现新的换行是一轮

我的问题是:我需要哪些步骤来指定:

  1. 空换行符之前的第一部分是所有玩家参与?
  2. 后面的"段落"是圆形的吗?
  3. ,第一个名字是'player_1',第二个名字'player_2',第一个值'score_player_1'和第二个值'score_player_2'?

如果有人愿意帮助一个初学者,我将不胜感激!

你可以这样做:

x = """Andrew
Bob
Chanel
Danielle
Andrew Chanel 1 0
Danielle Bob 0 1
Andrew Danielle 0.5 0.5
Chanel Bob 1 0
Andrew Bob 0.5 0.5
Chanel Danielle 0 1"""

_names, *rounds = x.split('nn')
names = _names.splitlines() # ['Andrew', 'Bob', 'Chanel', 'Danielle']

for _round in rounds:
print('NEW ROUND')
for match in _round.splitlines():
# Use these variables:
name1, name2, score1, score2 = match.split()
print('MATCH:', name1, 'vs', name2, '| SCORE:', score1, '-', score2)
print('')

输出:

NEW ROUND
MATCH: Andrew vs Chanel | SCORE: 1 - 0
MATCH: Danielle vs Bob | SCORE: 0 - 1
NEW ROUND
MATCH: Andrew vs Danielle | SCORE: 0.5 - 0.5
MATCH: Chanel vs Bob | SCORE: 1 - 0
NEW ROUND
MATCH: Andrew vs Bob | SCORE: 0.5 - 0.5
MATCH: Chanel vs Danielle | SCORE: 0 - 1

相关内容

  • 没有找到相关文章

最新更新