Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 30, 2014 14:30:32

exooman
Зарегистрирован: 2014-01-30
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

требуется небольшая помощь

Друзья, извините, что создаю тему из-за одного вопроса. Суть такая: скриптом нужно запускать/выключать анимацию при определенных условиях. Вот кусок от скрипта:

if pampampam == True:
if turumtumtum == False:
cont.activate('animation')
else:
cont.deactivate('animation')
else:
cont.deactivate('animation')

Вопрос собственно такой, как в данной ситуации избавиться от одного из else?

Офлайн

#2 Янв. 30, 2014 14:36:02

Art-master
От: Россия, Ростов-на-Дону
Зарегистрирован: 2013-06-08
Сообщения: 78
Репутация: +  1  -
Профиль   Отправить e-mail  

требуется небольшая помощь

if pampampam and not turumtumtum: cont.activate('animation')
else: cont.deactivate('animation')

Офлайн

#3 Янв. 30, 2014 14:36:47

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

требуется небольшая помощь

if pampampam == True and turumtumtum == False:
    cont.activate('animation')
else:
    cont.deactivate('animation')

Офлайн

#4 Янв. 30, 2014 14:37:58

Art-master
От: Россия, Ростов-на-Дону
Зарегистрирован: 2013-06-08
Сообщения: 78
Репутация: +  1  -
Профиль   Отправить e-mail  

требуется небольшая помощь

Я первый успел!

Офлайн

#5 Янв. 30, 2014 14:56:03

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

требуется небольшая помощь

 cont.activate('animation') if pampampam or (not turumtumtum) else cont.deactivate('animation')
а так ?

Офлайн

#6 Янв. 30, 2014 14:58:04

Art-master
От: Россия, Ростов-на-Дону
Зарегистрирован: 2013-06-08
Сообщения: 78
Репутация: +  1  -
Профиль   Отправить e-mail  

требуется небольшая помощь

Singularity
Неплохо!

Офлайн

#7 Янв. 30, 2014 14:58:12

exooman
Зарегистрирован: 2014-01-30
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

требуется небольшая помощь

Извините, не уточнил - операторы if должны остаться. На самом деле их больше, поэтому и угнетает эта проблема, что каждому if, нужно прописывать свой else

Офлайн

#8 Янв. 30, 2014 15:01:23

Art-master
От: Россия, Ростов-на-Дону
Зарегистрирован: 2013-06-08
Сообщения: 78
Репутация: +  1  -
Профиль   Отправить e-mail  

требуется небольшая помощь

exooman
Так они и остались, как вы и просили, мы убрали только лишнее else. Я не понимаю суть вашей фразы

exooman
Извините, не уточнил - операторы if должны остаться. На самом деле их больше, поэтому и угнетает эта проблема, что каждому if, нужно прописывать свой else

Отредактировано Art-master (Янв. 30, 2014 15:01:56)

Офлайн

#9 Янв. 30, 2014 15:05:57

Art-master
От: Россия, Ростов-на-Дону
Зарегистрирован: 2013-06-08
Сообщения: 78
Репутация: +  1  -
Профиль   Отправить e-mail  

требуется небольшая помощь

exooman
Я кажется понял суть. А зачем вам 2 if если можно один?

Отредактировано Art-master (Янв. 30, 2014 15:06:09)

Офлайн

#10 Янв. 30, 2014 15:13:20

exooman
Зарегистрирован: 2014-01-30
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

требуется небольшая помощь

В общем есть куча разных условий для срабатывания разных анимаций. К примеру

if pampampam == 1:
#первая анимация
if turumtumtum == 1:
cont.activate('animation')
else:
cont.deactivate('animation')

#вторая
if turumtumtum == 2:
cont.activate('animation2')
else:
cont.deactivate('animation2')

#третья и т.д.
if turumtumtum == 3:
cont.activate('animation3')
else:
cont.deactivate('animation3')

# выключаем все, если не выполнено самое первое условие
else:
cont.deactivate('animation')
cont.deactivate('animation2')
cont.deactivate('animation3')

просто если все условия писать одной строкой, то приходится много дублировать. Да и код менее читабелен.

Отредактировано exooman (Янв. 30, 2014 15:13:53)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version