2017-04-10 134 views
0

如何搜索这些词典并显示某个键(由用户输入)的多个值? 我希望用户输入他们列出并输出的课程编号,以显示房间号,讲师和会议时间。搜索具有相同键和不同值的多个词典

我似乎不能让我的输出显示我想要的。当我运行我的程序时,我输入课程编号,但输出(ResultList)显示所有课程和时间。相反,我希望我的输出格式与我的例子一样。当我输入课程编号时,我只想显示该课程编号的信息。目前正在显示所有课程的所有信息。请帮助

请注意,该字典必须留在我列出

格式代码:

list1 = {"CS101":"Room 3004", "CS102":"Room 4501", "CS103":"Room 6755", "NT110":"Room 1244", "CM241":"Room 1411"} 

list2 = {"CS101":"Haynes", "CS102":"Alvarado", "CS103":"Rich", "NT110":"Burke", "CM241":"Lee"} 

list3 = {"CS101":"08:00", "CS102":"09:00", "CS103":"10:00", "NT110":"11:00", "CM241":"13:00"} 

ResultList = {k:[ list1[k], list2[k], list3[k] ] for k in list1} 

Course = input("Enter Course Number: \n") 

if Course == 'CS101' or 'CS102' or 'CS103' or 'NT110' or 'CM241': 
    print(ResultList) 
else: 
    print("Course not Found!") 

例子:

Enter Course Number: 
CS102 

CS102 
Room 3004 
Instructor: Heynes 
Meeting time: 08:00 
+1

欢迎来到StackOverflow。向我们展示您迄今为止所尝试的内容以及您卡住的位置。 –

+0

你的问题是什么? http://stackoverflow.com/help/how-to-ask – wwii

+0

对不起,我的错误。我已更新我的帖子以澄清我的问题。谢谢 – AlphaKing

回答

0

相当直接的解决方案。

>>> Course = "CS102"  
>>> if Course in list1.keys() and list2.keys() and list3.keys(): 
    ...  print("Room {}\nInstructor: {} \nMeeting time: {}".format(list1[Course], list2[Course], list3[Course])) 
    ... else: 
    ...  print("Course not found!") 
    ... 
    Room Room 4501 
    Instructor: Alvarado 
    Meeting time: 09:00 

>>> Course = "foo" 
>>> if Course in list1.keys() and list2.keys() and list3.keys(): 
...  print("Room {}\nInstructor: {} \nMeeting time: {}".format(list1[Course], list2[Course], list3[Course])) 
... else: 
...  print("Course not found!") 
... 
Course not found! 
>>> 
+0

感谢您的帮助!这运行成功! – AlphaKing