将用户输入与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个人利用他们的时间帮助您编辑问题,您再次将其更改为非工作版本的代码。请阅读编辑并理解它们。然后,再次编辑代码,使其实际可运行。