Помогите с ошибкой. TypeError: Safe2.unlock() takes 1 positional argument but 2 were given
Вот код
class Safe:
password = "592375x&20"
class Safe2(Safe):
data = "Пароль ромашка"
def unlock(self):
a = input("Введите парол: ")
if( a == self.password):
return self.data
else:
return "ошибка"
s1 = Safe2()
s1.unlock()
s = Safe()
print("Секретна інформація ",s1.unlock("592375x&20"))
Вот что выводит:
TypeError: Safe2.unlock() takes 1 positional argument but 2 were given
Ответы (1 шт):
Автор решения: Xander
→ Ссылка
input работает не так, как вы ожидаете, он никак не связан с передачей аргументов в метод. Чтобы можно было передать в методе unlock аргумент, вам нужно описать его в определении этого метода:
class Safe:
password = "592375x&20"
class Safe2(Safe):
data = "Пароль ромашка"
def unlock(self, a): # <--- Вот так вот
if a == self.password:
return self.data
else:
return "ошибка"
s1 = Safe2()
print("Секретна інформація ",s1.unlock("592375x&20"))