为什么这会导致“无法分配给操作员”错误?

2024-09-29 01:30:09 发布

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

为什么此行point * hours = QP出现“无法分配给运算符”错误?你知道吗

class Student(object):
    def __init__(self, name, surname, grade, hours, QP):
        self.name = name
        self.surname = surname
        self.grade = grade
        self.hours = hours
        self.QP = QP
    def getName(self):
        return '{}'.format(self.name)

    def getSurname(self):
        return '{}'.format(self.surname)

    def getGrade(self):
        return list(zip(self.grade, self.hours))

    def getHours(self):
        return '{}'.format(self.hours)
    def point(self):
        if grade == A:
            point = 4.0
        elif grade == B:
            point = 3.0
        elif grade == C:
            point = 2.0
        elif grade == D:
            point = 1.0
        else:
            point = 0.0

    def getQPoints(self):
        point * hours = QP
        return QP

    stud1 = Student("John","Brown",["A","B","A"],["15.0","25.0","20.0"],"")
    stud2 = Student("Mary","Watson",["C","A","B"],["15.0","25.0","20.0"],"")

    print (stud1.getQPoints())

Tags: nameselfformatreturndef运算符surnamestudent
2条回答

如果我明白你想做什么: 您正试图将points * hours分配给QP,这在python中是不可能的,因此您通常必须这样做:

`QP = points * hours`

我不相信你能扭转这种局面。相反,你应该这样做

QP = point * hours

这样,就可以实例化新变量,并将其设置为点和小时的乘积。你知道吗

其他一些问题:您的点变量也没有定义。你需要

self.point = point

以使变量成为实际变量。另外,它可能会导致点函数和点变量之间的混淆,因为两者的名称相同。一个或另一个,我将命名为点之一。你知道吗

相关问题 更多 >