首先,我不知道这是否可能,或者他是否有正确的解决方法,因为我还在编程入门,但我试图从 .txt 文件中提取的数据在一个类中构建一个字典。但是教授希望我们从文件中提取数据的方法是使用字节计数方法。这是他提出的问题的第一部分。我不打算发布整个事情,因为我确信我可以在这个驼峰之后解决剩下的问题。输入数据 对于每个学生,将从文件中读取以下数据: 每行(记录)将包含 • 学生 ID(5 个字节) • 学生姓名(30 个字节) • 测试 1(3 个字节) • 测试 2(3 个字节) ) • 测试 3(3 个字节)
我已经尝试在init中构建它,并在正常功能下进行。问题是如果我确实让它在类中构建,我无法让它正常工作以拉到主函数
class Grades:
count = 0
avg = 0
studentDict = {}
def __init__(self, userId, name, test1, test2, test3):
self.userId = userId
self.name = name
self.test1 = test1
self.test2 = test2
self.test3 = test3
openFile = open('Students.txt', 'r')
for lines in openFile:
userId = lines[:5].strip(' ')
name = lines[5:35].strip(' ')
test1 = lines[35:38].strip(' ')
test2 = lines[38:41].strip(' ')
test3 = lines[41:].strip(' ')
openFile.close
def setUserId(self, userId):
self.userId = userId
def getUserId(self):
return self.userId
def setName(self, name):
self.name = name
def getName(self):
return self.name
def setTest1(self, test1):
self.test1 = test1
def getTest1(self):
return self.test1
def setTest2(self, test2):
self.test2 = test2
def getTest2(self):
return self.test2
def setTest3(self, test3):
self.test3 = test3
def getTest3(self):
return self.test3
myGrades = Grades()
print(myGrades.getUserId())
这就是我所拥有的,因为我试图让它在我继续之前打印一些结果但是这里给了我这个错误代码,TypeError: init () missing 5 required positional arguments: 'userId', 'name' 、“test1”、“test2”和“test3”
我希望它在字典中打印出来