vamhana
Май 3, 2011 15:09:38
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 кидает т.е
зацикливается думал может дело в кириллице - нет все так же.ВОПРОС-
что не правильно?
Да… Человек, который разберёт эту простыню, должен обладать поистине прекрасной интуицией!
От такого количества while мой мозг зациклился. Давай-ка напиши маленький кусок кода, который не работает, а потом будем думать, как написать его правильно.
vamhana
Май 3, 2011 16:41:33
да сам код то не большой здесь удвоился если не утроился))
a=1
while a==1:
nach=input('напишите да или нет затем ентер\n')
if nach =='да':
print('хорошо начнем')
a+=1
elif nach =='нет':
sys.exit()
else:
print('да-нет пожалуйста')
вот фрагмент проблемного кода проблема в том что когда запускаю через idle все нормально работает
но когда запускаю как файл переменная nach не понятно на что ссылается(хотя как я понимаю должна ссылаться
на введенную пользователем строку)—если вводишь да-нет все равно переходит к else
Проблема с функцией input() в Py3.2.0 становится классикой…
http://python.su/forum/viewtopic.php?pid=71124#p71124
vamhana
Май 3, 2011 17:13:18
блин видел эту тему попробовал почему то сразу не получилось
спасибо
все нормально работает
Вот так уже лучше. Выведи в блоке else значение переменной или её repr, это сразу прояснит ситуацию.
Впрочем, Nik уже показал решение.
P.S. Если хочешь писать на питоне, изучи и следуй PEP-8.