如何在Python中向类添加用户定义对象



我尝试创建一个程序来存储一些学生的数据。我想创建一个函数,要求用户输入学生的姓名和gpa,并创建该学生的对象。我输入的名字是艾米。但是我遇到了一个错误,说"Amy">

class student:
#Constructor
def __init__(self, name, gpa):
self.name = name
self.gpa = gpa

#Method
def get_info(self):
return self.name, self.gpa
def add_student():
name = input("Please enter a student name: ")
gpa = input("Please enter the gpa of {a}: ".format(a = name))
print("{a} with gpa {b} is saved in the database.".format(a = name, b = gpa))
name = student(name, gpa)
def print_info(name):
c, d = name.get_info()
print("Name: {a} GPA: {b}".format(a = c, b = d))
add_student()
print_info(Amy)

请帮忙!我怎么能得到用户输入,并创建一个对象与这些信息,并获得打印信息与一个函数的能力。如有任何帮助,我将不胜感激。

我找到了一个解决方案,即每次用户输入新学生时创建一个新变量。我将它声明为全局变量,以便类外的函数可以评估对象(参考:[duplicate]如何在python中运行程序时创建一个新变量?[一])

My New Code:

class student:
#Constructor
def __init__(self, name, gpa):
self.name = name
self.gpa = gpa

#Method
def get_info(self):
return self.name, self.gpa
def add_student():
user_input = input("Please enter a student name: ")
gpa = input("Please enter the gpa of {a}: ".format(a = user_input))
globals()[user_input] = student(user_input, gpa)
print("{a} with gpa {b} is saved in the database.".format(a = user_input, b = gpa))
def print_info(name):
c, d = name.get_info()
print("Name: {a} GPA: {b}".format(a = c, b = d))
add_student()
print_info(Amy)

请告诉我如果我错了。

相关内容

  • 没有找到相关文章

最新更新