Попытка напечатать значение переменной с помощью классов в Python. Но появляется ошибка, появляется ошибка неподдерживаемых типов операндов для «str» и «int»

#python #string #class #oop #average

Вопрос:

 class Student:

    #Static variable
    school = 'vailankanni'

    def __init__(self, m1 , m2, m3):
        self.m1 = m1
        self.m2 = m2
        self.m3 = m3

    def avg(self):
        return (self.m1   self.m2   self.m3) /3

         



s1 = Student('20', '40', '60')
s2 = Student('80', '100', '120')

print(s1.avg())
 

Распечатав s1.avg (), я должен получить подробную информацию из переменной s1, но все, что я получаю
, — это сообщение об ошибке с неподдерживаемыми типами операндов для » str » и «int».

Как мне это исправить?

Комментарии:

1. Удалите кавычки вокруг ваших цифр.

2. Большое спасибо, это работает

Ответ №1:

Вы передаете значения в виде строковых объектов. Вместо этого используйте

 s1 = Student(20,40,60) #without the quotes
s1.avg()
 

Комментарии:

1. Спасибо, что решили эту проблему.