Форум сайта python.su
Увидел в книге, захотел повторить, но выдало ошибку.
В чём проблема?
passw = input("Введите пароль:") def test_passw(p): def deco(f) if p == "10": return f else: return lambda: "Доступ закрыт" return deco @test_passw(passw) def func(): return "Доступ открыт" print(func())
Отредактировано artyrpodoprigora (Апрель 16, 2017 21:42:03)
Офлайн
Как минимум покажите ошибку.
Как максимум у Вас неверные отступы. 8 строка
Офлайн
4kpt_VСпасибо, в этом и была проблема
Как минимум покажите ошибку.Как максимум у Вас неверные отступы. 8 строка
Офлайн
artyrpodoprigoraЕще одну проблему не заметили. В 3-й строке после def deco(f) должно быть двоеточие.
Спасибо, в этом и была проблема
Не заметил
Офлайн
Добрый день !
Подскажите где ошибся?
Все время выводит
print(“a*8.6/100=”,a*8.6/100)
Прикреплённый файлы: ошибка.jpg (113,4 KБ)
Офлайн
troppii
У вас переменная с ссылается на тип int (c = int(input(…)), а проверка в if и elif делается для типа str (if c == “1”, elif c == “2”). Приведите все к какому-либо одному типу.
Офлайн
old_montyа можно чуть развернутее ответ?)
troppiiУ вас переменная с ссылается на тип int (c = int(input(…)), а проверка в if и elif делается для типа str (if c == “1”, elif c == “2”). Приведите все к какому-либо одному типу.
Офлайн
troppiiНу смотрите, вот ваш код:
а можно чуть развернутее ответ?
c = int(input("Если Зима, ставь 1, если Лето, то ставь 2")) # в результате c указывает на целое число (тип int) 1 или 2 if c == "1": # проверяет, что с - это строка "1" (тип str) ... elif c == "2": # проверяет, что c - это строка "2" (тип str) ...
>>> # Пробуем играться с типами int и str в интерактивном режиме интерпретатора Python >>> 1+2 >>> 3 >>> "1" +"2" >>> '12' >>> int("2") 2 >>> str(2) '2' >>>
Отредактировано old_monty (Апрель 17, 2017 15:29:55)
Офлайн