Уведомления

Группа в Telegram: @pythonsu

#1 Май 3, 2011 15:09:38

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

что не правильно

python32windows7
вот фрагмент кода:
a=1
while a==1:
nach=input('напишите да или нет затем ентер\n')
if nach =='да':
print('хорошо начнем')
a+=1
elif nach =='нет':
sys.exit()
else:
print('да-нет пожалуйста')
через idle все нормально работает, но если запускать нажатием на файл(file.py) то в
упор не видит введенное значение nach ни да ни нет сразу на else кидает т.е
зацикливается думал может дело в кириллице - нет все так же.ВОПРОС-
что не правильно?



Офлайн

#2 Май 3, 2011 16:28:01

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

что не правильно

Да… Человек, который разберёт эту простыню, должен обладать поистине прекрасной интуицией!
От такого количества while мой мозг зациклился. Давай-ка напиши маленький кусок кода, который не работает, а потом будем думать, как написать его правильно.



Офлайн

#3 Май 3, 2011 16:41:33

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

что не правильно

да сам код то не большой здесь удвоился если не утроился))
a=1
while a==1:
nach=input('напишите да или нет затем ентер\n')
if nach =='да':
print('хорошо начнем')
a+=1
elif nach =='нет':
sys.exit()
else:
print('да-нет пожалуйста')
вот фрагмент проблемного кода проблема в том что когда запускаю через idle все нормально работает
но когда запускаю как файл переменная nach не понятно на что ссылается(хотя как я понимаю должна ссылаться
на введенную пользователем строку)—если вводишь да-нет все равно переходит к else



Офлайн

#4 Май 3, 2011 16:57:09

Nik
От:
Зарегистрирован: 2010-01-10
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

что не правильно

Проблема с функцией input() в Py3.2.0 становится классикой…
http://python.su/forum/viewtopic.php?pid=71124#p71124



Офлайн

#5 Май 3, 2011 17:13:18

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

что не правильно

блин видел эту тему попробовал почему то сразу не получилось
спасибо
все нормально работает



Офлайн

#6 Май 3, 2011 17:17:58

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

что не правильно

Вот так уже лучше. Выведи в блоке else значение переменной или её repr, это сразу прояснит ситуацию.
Впрочем, Nik уже показал решение.

P.S. Если хочешь писать на питоне, изучи и следуй PEP-8.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version