Python 我很难完成代码,它';这是一个随机生成器-填充空格

Python 我很难完成代码,它';这是一个随机生成器-填充空格,python,file,file-handling,challenge-response,Python,File,File Handling,Challenge Response,问题: 创建一个名为team.txt的文本文件,存储8个足球队名称及其最佳球员,并用逗号将球员与球队名称分开。创建一个程序,从文本文件中读取并显示随机的球队名称、球员名字的第一个字母和姓氏的第一个字母 我认为这应该做到: import random teamList = open("team.txt", "r") data = teamList.readlines() randomChoice = random.choice(range(8)) teamN

问题: 创建一个名为team.txt的文本文件,存储8个足球队名称及其最佳球员,并用逗号将球员与球队名称分开。创建一个程序,从文本文件中读取并显示随机的球队名称、球员名字的第一个字母和姓氏的第一个字母


我认为这应该做到:

import random
teamList = open("team.txt", "r")
data = teamList.readlines()
randomChoice = random.choice(range(8))
teamName = []
player = []
for lines in data:
    split = lines.split(',')
    teamName.append(split[0])
    player.append(split[1])
teamName = teamName[randomChoice]
letters = player[randomChoice]
print("\nThe team is ", teamName)
splitLetters = letters.split(' ')
print("And the first letter of the player’s firstname and surname is")

for x in range(len(splitLetters)):
    print((splitLetters[x][0]).upper())
这是一个有点糟糕的脚本,但由于你必须只是填补空白,而不是拿出你自己的方式来做它在这里。例如,他们甚至从不关闭文本文件,他们将所有球员和球队添加到列表中只是为了从列表中随机选择

答案的超短解释 因此,该文件被读取,并通过每一行将球队名称添加到
teamName
,并将球员名称添加到
player
。然后,使用random选择一个随机整数,并使用
player
teamName
的索引打印所需的输出


如果您需要更详细的解释,请告诉我。如果您对某些特定的问题有疑问,我可以浏览特定的行。

因为这段代码是给您的,您只需要填写空白?是的,我不擅长随机生成器我想你应该读一下:与其硬编码值8,我建议1)
randomChoice=random.choice(range(len(data))
或者更好的2)
randomChoice=random.random(len(data))
非常感谢你,有一些小的语法错误,但我修复了它们,有一个错误我一直坚持在你写的“对于范围内的x(len(splitLetters)):”上面写着“非类型的对象没有len()”,我不确定我是否同意Darryl的观点,我只是认为这个问题只涉及8个团队。这是一个奇怪的关于它是一个非类型,你能发送一个文本文件的一行如何看的例子吗?我刚刚制作了一个虚拟文件来测试这一点,但我可能已经对其进行了不同的格式化。我猜逗号后面有一个空格,在这种情况下,拆分前的一个简单的
.strip()
应该可以实现这一点,但只显示一行。
import random
teamList = open("team.txt", "r")
data = teamList.readlines()
randomChoice = random.choice(range(8))
teamName = []
player = []
for lines in data:
    split = lines.split(',')
    teamName.append(split[0])
    player.append(split[1])
teamName = teamName[randomChoice]
letters = player[randomChoice]
print("\nThe team is ", teamName)
splitLetters = letters.split(' ')
print("And the first letter of the player’s firstname and surname is")

for x in range(len(splitLetters)):
    print((splitLetters[x][0]).upper())