python - python中的学生姓名和标记类-定义时出现未定义错误
问题描述
老实说,我不想粘贴这个,因为这是一个愚蠢的问题,但我多次尝试并更改了代码。最后几行显示未定义对象的错误。你能帮忙吗?
class Studentsmarks(object):
def __init__(self, name, testmark):
self.name=name
self.testmark=testmark
def getmark(self): #function to return mark attribute from the class object
return self.testmark
def getname(self): #function to access the class object and return the name attribute from it
return self.getname
def __str__(self):
return self.name + ' : ' + str(self.getname()) +' ::'+ str(self.getmark())
# Define a function for building a Record
# which generates list of all the students
def studnetobject(rec,name, testmark):
rec.append(Studentsmarks(name, testmark))
return rec
def main():
studentlist=[]
for each in range(0,1):
name=input("Enter student name:")
testmark=input("Enter student mark:")
studentlist=studnetobject(rec, name, testmark) # << ----------------error undefined studentsobject
printlist(studentlist)
def printlist(studentlist):
# Printing the list of student
print("\n")
print("\nList of Students\n")
for i in range(studentlist.__str__()):
rec.display(studentlist[i]) # <<-------------------------------Undefined rec
解决方案
class Studentsmarks(object):
def __init__(self, name, testmark):
self.name=name
self.testmark=testmark
def getmark(self):
return self.testmark
def getname(self):
return self.name
def studnetobject(rec, name, mark):
rec.append([name,mark])
return rec
def main():
studentlist = []
for each in range(0,2):
name=input("Enter student name:")
testmark=input("Enter student mark:")
student_obj = Studentsmarks(name=name,testmark=testmark)
rec=[]
studentlist.append(studnetobject(rec, student_obj.getname(), student_obj.getmark()))
return studentlist
def printlist(studentlist):
print("\nList of Students and marks\n")
for i in range(len(studentlist)):
print(studentlist[i])
studentlist = main()
printlist(studentlist)
虽然这可以更简化,但为了帮助您通过比较来理解,我调整了您的代码。
推荐阅读
- c# - 如何以响应式方式设置 KeyBindings?
- ios - iOS 应用程序后台获取
- javascript - 在 window.location.reload() 之后加载图标隐藏
- javascript - 在同一导航单击上重新加载路由器组件 - 在导航单击上刷新页面
- opencart - 如何在 opencart 管理面板中删除广告
- css - Angular 的 Style.css 不适用于某些组件
- mysql - 按连接表中匹配实例的 n_ammounts 排序
- docker - Dockerising鹈鹕项目
- java - 将对象转换为 JSON 错误时:com.fasterxml.jackson.databind.exc.MismatchedInputException
- html - HighCharts 饼图没有显示所有数据标签,它被切断了