showBySal(money) — принимает количество денег и выводит информацию о всех сотрудниках у которых зарплата меньше

Рейтинг: 0Ответов: 1Опубликовано: 25.02.2023

задача(в целом задача больше, оставляю часть с которой не могу разобраться):showBySal(money) — принимает количество денег и выводит информацию о всех сотрудниках у которых зарплата меньше(Код у меня кривой, но кое как работает). Присутствует такая проблема, выдает ошибку TypeError: '>' not supported between instances of 'int' and 'str' . Понимаю, что нельзя сравнивать числа и строки, но у меня в значениях Emp.pay лежит число, точно также как и в money.

Сам код:

  def showinfo(self):
      print(f"ID: {self.id} \n  Name: {self.name} \n  Pay: {self.pay}")

Emp1 = Employee()
Emp1.id = '01'
Emp1.name = "Ivanov Ivan Ivanovich"
Emp1.pay = "100$"

Emp2 = Employee()
Emp2.id = '02'
Emp2.name = "Sergeev Sergei Sergeevich"
Emp2.pay = "130$"

Emp3 = Employee()
Emp3.id = '03'
Emp3.name = "Alexandrov Alexandr Alexandrovich"
Emp3.pay = "120$"

Emp4 = Employee()
Emp4.id = '04'
Emp4.name = "Olegov Oleg Olegovich"
Emp4.pay = "400$"


class Firm:
  base =[Emp1.id, Emp1.name, Emp1.pay,Emp2.id, Emp2.name, Emp2.pay,Emp3.id, Emp3.name, Emp3.pay, Emp4.id, Emp4.name, Emp4.pay]
  print("Введите данные нового сотрудника")
  addEmpl =(input())
  base.append(addEmpl)

  print(base)

  print("Введите зарплату")
  money = int(input())

  if money > max(Emp1.pay, Emp2.pay, Emp3.pay, Emp4.pay):

      print(Emp1.pay, Emp2.pay, Emp3.pay, Emp4.pay)

  else:
      print("Ты точно работаешь?") 


Т.к не знаю как фиксить прошу помощи

Ответы

▲ 0

Emp.pay = int(100), вроде работает