【发布时间】:2017-04-08 03:43:12
【问题描述】:
我在这里比较新,所以请告诉我是否有什么我应该知道的或者我在礼貌上犯的任何错误!
我正在尝试通过随机选择将内容添加到字典中,但我的代码似乎不起作用!
文件: 运动.txt
Soccer, Joshua
Lacrosse, Naome Lee
Soccer, Kat Valentine
Basketball, Huong
Tennis, Sunny
Basketball, Freddie Lacer
到目前为止我的代码:
def sportFileOpen():
sportFile = open("sport.txt")
readfile = sportFile.readlines()
sportFile.close()
return(readfile)
def sportCreateDict(sportFile):
sportDict = {}
for lines in sportFile:
(sport, name) = lines.split(",")
if sport in sportDict:
sportDict[sport].append(name.strip())
else:
sportDict[sport] = [name.strip()]
return(sportDict)
def sportRandomPick(name, sport, sportDict):
if sport in sportDict:
ransport = random.choice(sportDict.keys())
sportDict[ransport].append(name)
print(name, "has been sorted into", ransport)
def main():
sportFile = sportFileOpen()
sportDict = sportCreateDict(sportFile)
name = input("Enter the name: ")
preferredSport = input("Which sport do they want? ")
sportRandomPick(name, preferredSport, sportDict)
main()
我试图让用户输入他们的姓名和喜欢的运动组,并且他们喜欢的任何运动都比其他运动更有可能被随机选择(例如,如果 Jason 选择足球,他参加足球的机会可能翻倍)。
我不希望任何人为我编写代码,我知道这很耗时,而且您还有更好的事情要做!但是任何人都可以向我解释我将如何去做吗?我了解如何做出随机选择,但我不知道如何将机会“加倍”。
我在运行代码时也不断收到此错误:NameError: global name 'random' is not defined
我以为我在做那部分是正确的,但现在我被卡住了。任何人都可以为此付出两分钱吗?
【问题讨论】:
-
需要导入随机模块。只需将其添加到代码顶部:
import random。无论如何,这将解决错误。 -
哦,我明白了!谢谢!!
标签: python dictionary random