Darkph8enix Ответов: 1

Я столкнулся с ошибкой при запуске следующего кода Python 3.6 в терминале.... кто-то plzz поможет мне.


class Employee:

    raiseAmount=1.04

    def __init__(self,first,last,pay):
        self.first=first
        self.last=last
        self.email=first+'.'+last+'@gmail.com'
        self.pay=pay

    def fullName(self):
        return '{} {}'.format(self.first,self.last)

    def applyRaise(self):
        self.pay = int(self.pay*self.raiseAmount)

class Developer(Employee):
    pass

dev1=Employee('Corey','Schafer','70000')
dev2=Developer('Test','Employee','60000')

#print(dev1.email)
#print(dev2.email)

print(dev1.pay)
dev1.applyRaise()
print(dev1.pay)


Это мой pyhton код, который я пытался запустить в терминале......но он показывает ошибку, которая является
ПС C:\Users\dark_phoenix\lpthw> python oop.py
70000
Traceback (most recent call last):
  File "oop.py", line 27, in <module>
    dev1.applyRaise()
  File "oop.py", line 15, in applyRaise
    self.pay = int(self.pay*self.raiseAmount)
TypeError: can't multiply sequence by non-int of type 'float'


Что я уже пробовал:

Я попытался изменить тип данных selfRaise на int, но он также не работает.

1 Ответов

Рейтинг:
0

Richard MacCutchan

dev1=Employee('Corey','Schafer','70000')

Символы кавычек вокруг числа заставляют Python рассматривать его как строку, а не как число. Ваш код должен быть:
dev1=Employee('Corey','Schafer', 70000) # no quotes around 7000


CPallini

5.