Уведомления

Группа в Telegram: @pythonsu

#1 Март 11, 2011 10:44:44

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

не выполняется if

#!/usr/bin/env python
# _*_ coding: utf-8 _*_
# враги
def lvl():
lvl = input('уровня ')
lvl = input('Уровень всех врагов (если нет, то 0) ')
if lvl == 0:
lvl = lvl()
wchurky = [input('враги-носильщики '), lvl]
wnaimy = [input('враги-наёмники '), lvl]
print(wchurky)
print(wnaimy)
ожидается, что если “уровень всех врагов” ввести “0”, то в каждом списке вместо lvl будет выполнятся lvl(). Однако этого не происходит, print возвращает 0, if словно игнорируется. Питон 3.1



python3 openSUSE-43Leap

Офлайн

#2 Март 11, 2011 10:49:03

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

не выполняется if

lvl у вас ожидается в if что - функция или число? :)



Офлайн

#3 Март 11, 2011 10:50:59

Studentik
От:
Зарегистрирован: 2009-12-26
Сообщения: 99
Репутация: +  0  -
Профиль   Отправить e-mail  

не выполняется if

print("0"==0)



Офлайн

#4 Март 11, 2011 10:51:49

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

не выполняется if

В if число. В списках, если lvl не равен 0, то число, если равен, то функция



python3 openSUSE-43Leap

Отредактировано (Март 11, 2011 10:54:16)

Офлайн

#5 Март 11, 2011 10:56:06

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

не выполняется if

У меня сильное подозрение что

lvl = input('Уровень всех врагов (если нет, то 0) ')
всегда присвоит lvl какоето значение - и от вашей функции останутся только рожки да ножки ().



Офлайн

#6 Март 11, 2011 10:57:46

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

не выполняется if

Может вам попробовать

booleancode = input('Уровень всех врагов (если нет, то 0) ')
lvl = 0 if booleancode==0 else lvl
Вы извините - я недавно пробую писать на питоне - не знаю как работает input. За прошедшие 7 месяцев он мне еще ни разу не потребовался.



Отредактировано (Март 11, 2011 11:03:23)

Офлайн

#7 Март 11, 2011 11:03:34

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

не выполняется if

а, вкурил, спасибо.

рожки да ножки()
:)
doza_and
Вы извините - я недавно пробую писать на питоне - не знаю как работает input. За прошедшие 7 месяцев он мне еще ни разу не потребовался
а как Вы запрашиваете данные с клавиатуры? В гайде инпут, поэтому им и пишу



python3 openSUSE-43Leap

Отредактировано (Март 11, 2011 11:07:43)

Офлайн

#8 Март 11, 2011 11:07:26

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

не выполняется if

Мне опять кажется вы неправильно функцию назвали

def рожки_да_ножки():
return 2
помоему пробелы в идентификаторах недопустимы



Офлайн

#9 Март 12, 2011 08:20:52

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

не выполняется if

Voroshek
а как Вы запрашиваете данные с клавиатуры?
Если скрипт “для себя”, то некоторые вещи проще и быстрее в качестве констант указывать. Ну не люблю я консоль в windows.
Если программа не для себя, или там что то более сложное, например ввод названия файла и пр., то GUI набрасывается за несколько минут.



Офлайн

#10 Март 12, 2011 16:18:56

Voroshek
От:
Зарегистрирован: 2011-03-11
Сообщения: 54
Репутация: +  0  -
Профиль   Отправить e-mail  

не выполняется if

Всем спасибо



python3 openSUSE-43Leap

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version