在下面的代码中,我展示了一个函数,它允许你将学生添加到字典(书)中,并以rut为关键字,我遇到的问题是,我试图创建一个函数,该函数可以按部门搜索,然后打印属于该部门的所有学生,基本上我问的是,如何搜索一个包含1个关键字的字典,该字典与许多值相关联,并且您想要搜索一个特定值,然后打印所有包含该值和信息的关键字?
book = {}
def add(rut, name, age, department):
student = {}
student['rut'] = rut
student['name'] = name
student['age'] = age
student['department'] = department
book[rut] = student
def printall():
for rut in book:
student = book[rut]
print(student['rut'], student['name'], student['age'], student['department'])
def main():
count = 0
x = 0
y = int(input("How many students will you add?: "))
while count < y:
print('Input data of the student: ', count+1)
rut = input("rut: ")
name = input("name: ")
age = int(input("age: "))
print("Department 1: RH, 2: Logistic, 3: Cleaners, 4: TI ")
department = ''
while x == 0:
num_dept = int(input("department number: "))
if num_dept == 1:
department = "RH"
x = 1
elif num_dept == 2:
department = "Logistic"
x = 1
elif num_dept == 3:
department = "Mathematics"
x = 1
elif num_dept == 4:
department = "TI"
x = 1
else:
print('Error')
x = 0
add(rut, name, age, department)
count = count + 1
printall()
main()
发布于 2018-05-29 08:00:24
您可以使用list comprehension。
students = [student for student in book.values()
if student["department"] == desired_department]
这将给你一个列表,如果你愿意,你可以打印出来。
https://stackoverflow.com/questions/50574633
复制相似问题