Форум сайта python.su
class Person: def __init__(self, name, age, pay=0, job=None): self.name = name self.age = age self.pay = pay self.job = job def lastName(self): return self.name.split()[-1] def giveRaise(self, percent): self.pay *= (1.0 + percent) def __str__(self): return ("<%s => %s: %s, %s>" % ( self.__class__.__name__, self.name, self.job, self.pay)) class Manager(Person): def __init__(self, name, age, pay): Person.__init__(self, name, age, pay, "manager") def giveRaise(self, percent, bonus=0.1): Person.__init__(self, percent + bonus) if __name__ == "__main__": bob = Person('Bob Smith', 44) sue = Person("Sue Jones", 47, 40000, "hardware") tom = Manager(name="Tom Doe", age=50, pay=50000) print(sue, sue.pay, sue.lastName()) for obj in (bob, sue, tom): obj.giveRaise(0.10) print(obj)
<Person => Sue Jones: hardware, 40000> 40000 Jones <Person => Bob Smith: None, 0.0> <Person => Sue Jones: hardware, 44000.0> Traceback (most recent call last): File "class_bd.py", line 26, in <module> obj.giveRaise(0.10) File "class_bd.py", line 19, in giveRaise Person.__init__(self, percent + bonus) TypeError: __init__() missing 1 required positional argument: 'age'
Отредактировано korifa (Авг. 21, 2017 13:55:30)
Офлайн
А что вы делаете в методе Manager.giveRaise?
Офлайн
korifaпредположу что вы хотели написать
как исправить ошибку:
[code python][/code]
Офлайн
PEHDOMв точку
Офлайн
Воспользуюсь случаем и задпм свой простой пример в этой теме.
В общем сейчас накачал видеообучения по питону и там задача. Бьюсь третий день и никак.
Есть список. И надо сделать так, если в списке есть наложения, то этот элемент списка заброкавать. Интересует как составить условие.
Например:
[code python][14, 21], [23, 30], [26, 36], [40, 50][code python][/code][/code]
Отредактировано sanik (Авг. 22, 2017 15:52:09)
Офлайн
sanikОписывай задачу понятно. Что за “наложения в списке”? Кто куда налаживает?
Отредактировано Vintets (Авг. 22, 2017 16:38:37)
Офлайн
VintetsИзвиняюсь за неправильно поставленную задачу.
Офлайн
[26, 36], [40, 50]
dates = [[14, 21], [23, 30], [26, 31]] def check_dates_ranges(dates_ranges): for previous, next in zip(dates_ranges, dates_ranges[1:]): if previous[1] > next[0]: print('Incorrect range {}'.format(next)) check_dates_ranges(dates)
Отредактировано Stright (Авг. 22, 2017 22:55:18)
Офлайн
Здравствуйте! Подскажите пожалуйста в чем проблема?
пишу код:
a=int(input()) b=int(input()) c=int(input()) d=int(input()) for i in range(c,d+1): print('\t',i,end='') print() for i in range(a,b+1): print (i,end='') for k in range(c,d+1): print('\t',k*i)
Отредактировано FishHook (Авг. 25, 2017 08:27:16)
Офлайн
Helene@9
Офлайн