Mengapa kesalahan "tidak dapat menetapkan ke operator" untuk baris ini 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())
-5
Ibrahim 18 Agustus 2017, 00:22

2 jawaban

Jawaban Terbaik

Saya tidak percaya bahwa Anda dapat membalikkan itu. Sebagai gantinya, lakukan

QP = point * hours

Dengan begitu, Anda membuat instance variabel baru, dan mengaturnya ke produk dari poin dan jam.

Beberapa masalah lain: variabel poin Anda juga tidak ditentukan. Anda membutuhkan

self.point = point

Untuk memiliki variabel sebagai variabel yang sebenarnya. Juga, ini mungkin menyebabkan kebingungan antara fungsi titik dan variabel titik, karena keduanya memiliki nama yang sama. Satu atau yang lain, saya sebut satu sebagai poin.

2
UghThatGUyAgain 17 Agustus 2017, 21:37

Jika saya mengerti apa yang Anda coba lakukan: Anda mencoba menetapkan points * hours ke QP yang tidak mungkin dilakukan dengan python seperti itu, jadi Anda harus melakukannya secara normal seperti ini:

`QP = points * hours`
0
Sadmi 17 Agustus 2017, 21:35