使用Python中的循环将列表值传递到类中

时间:2018-05-11 11:08:54

标签: python-3.x loops oop typeerror

我试图将多个输入条目i作为参数传递给类Student()。在最后一次迭代(m)之后,我得到一个类型错误。我已经尝试了for循环,但它也没有用。谢谢你的帮助!

class Student():
    def __init__(self, d, a, b, c):
        self.d = d
        self.a = a #name
        self.b = b #roll
        self.c = c #percentage
        return#

    def uid(self):
        print('UID:', self.d)

    def name(self):
        print('Name:', self.a)

    def roll(self):
        print('Roll:', self.b)

    def perc(self):
        print('Perc:', self.c)


#THIS IS WHAT YOUR INPUT SHOULD LOOK LIKE:        
#Peter 405 100

m = input('how many entries? ')
n = 0

while n < int(m):
    i = input()
    j = i.split()
    o = Student(n,*j)
    o.uid(), o.name(), o.roll(), o.perc()
    n+=1    

Student()

1 个答案:

答案 0 :(得分:0)

最后一行 - Student()创建类的实例而不提供任何参数。因此,Python引发了类型错误。

删除此行(或输入参数)将解决问题。