如何在python中打印字典键和值

如何在python中打印字典键和值,python,python-2.7,dictionary,Python,Python 2.7,Dictionary,我必须制作一个程序,要求用户为每个学生输入一个学生姓名和他们的成绩。并将它们作为[键]和[值]放在字典中。当用户输入“q”时,程序退出,然后打印学生及其成绩,如下所示: 学生成绩 student1A student2b Student3C 我的代码如下所示: student_grades = {} while True: ## Get the Name [key in dictionary] of the student name = raw_input("Please gi

我必须制作一个程序,要求用户为每个学生输入一个学生姓名和他们的成绩。并将它们作为[键]和[值]放在字典中。当用户输入“q”时,程序退出,然后打印学生及其成绩,如下所示:

学生成绩

student1A

student2b

Student3C

我的代码如下所示:

student_grades = {}

while True:

    ## Get the Name [key in dictionary] of the student
    name = raw_input("Please give me the name of the student (press q to quit): \n")

    if name == 'q':
        print "Okay, printing grades! \n"
        for x in student_grades:
            print student_grades.keys() + student_grades.values()
        break

    # Chcek if name isn't valid
    elif name.isdigit():
        print "Sorry, {} isn't valid".format(name)
        name = raw_input("Please give me the name of the student (press q to quit): \n")

    ## Get the grade [value in dictionary] of the student
    grade = raw_input("Please give me their grade: (e.g 'A', 'B', 'C', 'D', 'F') \n")

    # Check if grade isn't valid
    if not grade in ['A', 'B', 'C', 'D', 'F']:
        print "Sorry, {} isn't valid".format(grade)
        grade = raw_input("Please give me their grade: (e.g 'A', 'B', 'C', 'D', 'F') \n")
        # Assign Name to Grade
        student_grades[name] = grade
for k, v in mydict.iteritems():
    print(k, v)

当我输入“q”时,程序应打印学生姓名及其成绩的键和值,但不打印任何内容

您可以访问字典中的键和值,如下所示:

student_grades = {}

while True:

    ## Get the Name [key in dictionary] of the student
    name = raw_input("Please give me the name of the student (press q to quit): \n")

    if name == 'q':
        print "Okay, printing grades! \n"
        for x in student_grades:
            print student_grades.keys() + student_grades.values()
        break

    # Chcek if name isn't valid
    elif name.isdigit():
        print "Sorry, {} isn't valid".format(name)
        name = raw_input("Please give me the name of the student (press q to quit): \n")

    ## Get the grade [value in dictionary] of the student
    grade = raw_input("Please give me their grade: (e.g 'A', 'B', 'C', 'D', 'F') \n")

    # Check if grade isn't valid
    if not grade in ['A', 'B', 'C', 'D', 'F']:
        print "Sorry, {} isn't valid".format(grade)
        grade = raw_input("Please give me their grade: (e.g 'A', 'B', 'C', 'D', 'F') \n")
        # Assign Name to Grade
        student_grades[name] = grade
for k, v in mydict.iteritems():
    print(k, v)
在Python 3中,这一点更改/改进为:

for k, v in mydict.items():
    print(k, v)

请修正原始问题中的缩进,如所写,这是无效代码我的代码怎么缩进不正确?请你具体说明我应该在哪里修理它?如果我确切知道需要修理什么,我会自己修理。您在
中没有缩进级别,而True:
但是,idk还有什么错更大的问题是,您正在转储所有代码,而大部分代码与您的问题无关。您是否尝试过创建一个简单的词典并在本程序的上下文之外打印它?如果不是,那为什么不呢?是的,但是你不能期望写一个完整的程序,然后说“某个地方出了问题”。你必须切掉一些片段,确保你知道它们是如何工作的,然后再尝试将它们组合在一起。因此,再次尝试编写一个程序,制作一个简单的字典并打印出来。在这里,我将让您开始
d={'key1':100,'key2':42,'key3':69}