【问题标题】:I can't let the data to remain in the dictionary, it keeps updating instead我不能让数据保留在字典中,而是不断更新
【发布时间】:2021-11-27 19:46:21
【问题描述】:

我给自己买了一本 python 书。目前,在书中,我正在学习字典。这本书给了我一个关于字典的练习。这就是问题。

“创建一个程序,将学生的姓名与班级成绩配对。用户应该能够根据需要输入尽可能多的学生,然后打印出所有学生的姓名和成绩。输出应该如下所示:

请给我学生的名字(q 退出):[输入]

请给我他们的评分:[输入]

[等等……]

请给我学生的名字(q退出):[输入]:q

好的,打印成绩!

学生成绩

学生1 A

学生2乙

[等等...]"

def student():
    studentmarks = {}
    while True:
        name = raw_input("Please give me the name of the student ('q' to quit):")
        if name == "q":
            break
        elif name.isalpha() == True:
            grade = raw_input("Please give me their grade ('q' to quit):")
            if grade == "q":
                break
            elif grade.isalpha() == True:
                print "Grade is a number! Please try again"
                continue
            elif grade.isdigit() == True:
                studentmarks = {name: grade}
            else:
                print "Error, please try again"
                continue
        else:
            print "Please try again. {} is not the right input".format(name)
            continue
        print studentmarks
        continue
student()

我稍微修改了代码来测试字典。我也使用 python 2

【问题讨论】:

    标签: python python-2.7 dictionary


    【解决方案1】:

    每次到达此行时,您都会覆盖字典:

    studentmarks = {name: grade}
    

    应该是这样的:

    studentmarks[name] = grade
    

    【讨论】:

    • 是的,它有效 xD 谢谢 laot。我一直盯着代码大约 1 小时。我的眼睛他们受伤了xD
    【解决方案2】:

    您只犯了一个错误,就是将数据附加到字典时:

    studentmarks = {name: grade}
    

    应该是这样的:

    studentmarks[name] = grade
    

    【讨论】:

    • 是的,非常感谢:)。我一直盯着代码大约 1 小时 xD
    • 不客气 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 2020-05-06
    • 2013-06-29
    • 2021-01-30
    相关资源
    最近更新 更多