Форум сайта python.su
0
Здравствуйте.
Начал изучать Python, и наткнулся на сайтик codecademy, на котором после изучения теории предлагается решить практическую задачку. Все шло хорошо, но вот застрял на одной. Подскжите, где я туплю?
Задание:
1. First, def a function, shut_down, that takes one argument s. Don't forget the parentheses or the colon!
2. Then, if the shut_down function receives an s equal to “yes”, it should return “Shutting down”
3. Alternatively, elif s is equal to “no”, then the function should return “Shutdown aborted”.
4.Finally, if shut_down gets anything other than those inputs, the function should return “Sorry”
Мое решение:
def shut_down(s): #создаем функцию shut_down с переменной s return s if s=="yes": #если переменная s равна yes, то return "Shutting down" # возвращается значение "Shutting down" elif s=="no": #если переменная s равна no, то return "Shutdown aborted" # возвращается значение "Shutdown aborted" else: # если ни одно условие не выполняется return "Sorry" #возвращается значение "Sorry"
Отредактировано Pashka (Фев. 4, 2015 16:22:55)
Офлайн
35
def shut_down(s): if s == 'yes': return 'Shutting down' elif s == 'no': return 'Shutdown aborted' else: return 'Sorry'
Офлайн
0
botinagспасибо. заработало

Отредактировано Pashka (Фев. 4, 2015 16:59:45)
Офлайн
35
def shut_down(s): #создаем функцию shut_down с переменной s return s ...
Офлайн
103
а еще можно else убрать
def shut_down(s): #создаем функцию shut_down с переменной s if s=="yes": #если переменная s равна yes, то return "Shutting down" # возвращается значение "Shutting down" elif s=="no": #если переменная s равна no, то return "Shutdown aborted" # возвращается значение "Shutdown aborted" return "Sorry" # если ни одно условие не выполняется возвращается значение "Sorry"
Офлайн
49
А еще можно if/else конструкцию убрать.
def shutdow(key): d = {'yes': 'Shutting down', 'no': 'Shutdown aborted'} return d.get(key) or 'Sorry'
Офлайн
103
а ще можно и доп словарь не использовать
def shut_down(s): return "Shutting down" * (s == 'yes') + "Shutdown aborted" * (s == 'no') or "Sory"
Офлайн
0
botinagСпасибо за пояснение
terabayt
а еще можно else убрать
Alen
А еще можно if/else конструкцию убрать.
terabayt
а ще можно и доп словарь не использовать
Офлайн