我的循环和打印表单中的Python问题

2024-05-16 00:45:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让用户不断输入模块和等级,并将其存储为字典{课程:成绩}把这本字典存到一个列表里。你知道吗

我有三个问题。你知道吗

  1. 我无法在第二个原始输入中使用F6,即F7。你知道吗
  2. 其次,我使用“done”来停止循环。当我打印信息时,它看起来是这样的:

{完成:100} {完成:80}

以此类推。。因此,模块名不断被“done”替换。你知道吗

  1. 最后,我试图使打印出来如下:(这是不happing现在…)

成绩:计算机科学:100 计算机图形学:80

我已经完成了我剩下的工作,少了这一部分。我们非常感谢您的帮助。非常感谢。你知道吗

students = []

class Student:
    grades = {}

    def setGrades(self, grades):
        self.grades = grades

    def addStudent():
        while F6 != 'done':
            F6 = raw_input("Please enter module name. type 'done' to quit: ")
            if F6 == 'done':
                break
            F7 = raw_input("Please enter the grades for " ,F6, ':')


student.setGrades({F6:F7})

Tags: 模块用户selfinputraw字典defgrades
1条回答
网友
1楼 · 发布于 2024-05-16 00:45:48

首先,您的代码(原样)应该是这样的

students = []

class Student:
    grades = {}

    def setGrades(self, grades):
        self.grades = grades

    def addStudent():
        while True:
            F6 = raw_input("Please enter module name. type 'done' to quit: ")
            if F6 == 'done':
                break
            F7 = raw_input("Please enter the grades for " ,F6, ':')
            student.setGrades({F6:F7})

在我看来,你也应该有一个更好的api设置等级。我觉得这样就足够了:

def set_grades(self, lesson, grade):
    self.grades[lesson] = grade

最后,为了打印成绩,你应该有如下方法:

def print_grades(self):
    for lesson, grade in grades.items():
        print lesson, grade

最后但并非最不重要的是,在原始输入中,要使用F6,必须执行以下操作:

F7 = raw_input("Please enter the grades for %s: " % F6)

总而言之,如果我是你,我的代码会是这样的:

class Student:
    grades = {}

    def set_grades(self, lesson, grade):
        self.grades[lesson] = grade

    def addStudent():
        while True:
            F6 = raw_input("Please enter module name. type 'done' to quit: ")
            if F6 == 'done':
                break
            F7 = raw_input("Please enter the grades for %s: " % F6)
            student.setGrades(F6, F7)

    def print_grades(self):
        for lesson, grade in grades.items():
            print lesson, grade

相关问题 更多 >