Python字典更新和文件问题[已关闭]

a9wyjsp7  于 2023-01-03  发布在  Python
关注(0)|答案(1)|浏览(108)
    • 已关闭**。此问题需要超过focused。当前不接受答案。
    • 想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。

22小时前关门了。
Improve this question
我对Python还是个新手,我正在尝试用courses字典的内容更新一个education字典,education的名称是通过用户输入的,课程的键值(coursname和credits)也是通过用户输入的。
这是工作,但我想总结学分的数额为所有课程,并有它的关键:价值作为总学分在教育字典。
我还希望在education.txt文件的顶部的教育名称,我创建的所有课程。我可以打印在屏幕上的名称,但我希望它是education.txt文件的标题。
这是我创建的代码:

courses = {}

education = {}

def educations():
    educationName = input("Ange utbildnings namn: ")
    
    
    active = True
    while active:

        courseName = input("Ange kursens namn: ")
        credits = int(input(f"Hur många poäng har kursen {courseName}: "))
        courses[courseName] = credits
        

        repeat = input(
            "Vill du lägga till en ny kurs? (j/n) ")
        if repeat == 'n':
            active = False

    education.update(courses)   
    
    with open("education.txt", "w") as f:
        print(f"Utbildning: %s" % educationName)
        print(f"Antal poäng: %s" % sum(courses.values()))
        print("-------Kurser--------")  
        for key, value in education.items():
            f.write("%s: %s\n" % (key, value))
    f = open("education.txt", "r")
    print(f.read())

educations()

我们会很感激的。
我可以创建和打印包含课程字典内容的教育文件,但也希望将教育名称作为education.txt文件的标题,并汇总所有课程学分的学分数量

pod7payv

pod7payv1#

解决了:)

courses = {}

education = {}

def educations():
    educationName = input("Ange utbildnings namn: ")
    
    active = True
    while active:

        courseName = input("Ange kursens namn: ")
        credits = int(input(f"Hur många poäng har kursen {courseName}: "))
        courses[courseName] = credits
        

        repeat = input(
            "Vill du lägga till en ny kurs? (j/n) ")
        if repeat == 'n':
            active = False

    education.update(courses)   
    
    with open("education.txt", "w") as f:
        print(f"Utbildning: %s" % educationName)
        print(f"Antal poäng: %s" % sum(courses.values()))
        print("-------Kurser--------")  
        f.write("Utbildning: %s \n" % educationName)
        f.write("Poäng: %s \n" % sum(courses.values()))
        
        for key, value in education.items():
            f.write("%s: %s\n" % (key, value))
    f = open("education.txt", "r")
    print(f.read())

educations()

相关问题