将用户输入与python中的词典进行比较
我必须创建一个程序,让用户输入他们一次都没有参加的课程,并将其与课程字典中的先决条件进行比较,然后打印出学生有资格参加的课程。我不确定如何将用户输入与词典进行比较,以打印出他们可以学习的课程。这是我到目前为止所拥有的将用户输入与python中的词典进行比较,python,Python,我必须创建一个程序,让用户输入他们一次都没有参加的课程,并将其与课程字典中的先决条件进行比较,然后打印出学生有资格参加的课程。我不确定如何将用户输入与词典进行比较,以打印出他们可以学习的课程。这是我到目前为止所拥有的 print "Enter a course(0 to quit): " courses = raw_input() d = {150:[150], 161:[161], 162:[161], 231:[162], 241:[161],
print "Enter a course(0 to quit): "
courses = raw_input()
d = {150:[150],
161:[161],
162:[161],
231:[162],
241:[161],
251:[251],
260:[150],
300:[241],
303:[162],
304:[162],
307:[162],
353:[231],
385:[353],
355:[231],
461:[303,304,307,231],
475:[303,304,307],
480:[470]
}
while courses =! '':
if courses in d.keys():
print("You have taken: ", courses)
if courses == 0:
break
您只获得一次输入。您需要在循环中获取输入:
d = {150:[150],161:[161],162:[161],231:[162],241:[161],251:[251],260:[150],300:[241],303:[162],304:[162],307:[162],353:[231],385:[353],355:[231],461:[303,304,307,231],475:[303,304,307],480:[470]}
prereqs = set()
while True:
course = int(raw_input("Enter a course you have taken (0 to quit): "))
if course == 0:
break
try:
prereqs.update(d[course])
except KeyError:
print '\t\t\t\t\tHmm...I don\'t know that course'
在while循环中,我们每次迭代都会得到输入。如果它是0,我们将跳出循环。如果没有,我们尝试在dict中查找课程。如果失败,我们打印错误消息。您应该可以从这里获取它PreReqs将您所学的课程存储在一个集合中。在有问题的地方发布Python代码时,请务必小心。压痕非常关键。我编辑了你的问题,并把我认为是可以的,但仔细检查。你并没有真正提出问题,你给出了看起来像作业描述和一小段代码的东西。我建议你阅读。询问家庭作业是可以的,但最好描述一下你遇到的问题。@NicWerner如果不是为了更好的版本,你不应该修改编辑。2个人利用他们的时间帮助您编辑问题,您再次将其更改为非工作版本的代码。请阅读编辑并理解它们。然后,再次编辑代码,使其实际可运行。