Я предполагаю, что вы ожидаете завершения цикла после любого из запросов SOLVE
, верно? например Если пользователь перезагружает свой компьютер, а затем пытается подключиться, и после первого шага он набирает yes
, цикл должен завершиться?
Условие в цикле while
оценивается только после того, как ВСЕ содержимое этого блока завершило работу, и Python решает, запускать ли весь блок в другой раз. Ваш код на самом деле не имеет смысла, как написано. Минимальная петля, контролируемая дозором, может выглядеть следующим образом:
print('Welcome to the WiFi Connection Wizard, here are some troubleshooting steps:')
SOLVE= 'no'
while SOLVE != 'yes' :
print('\nIs it magically working now?')
SOLVE= input('Did this solve your problem? Plase type "yes" or "no": ')
Программа будет зацикливаться до тех пор, пока пользователь не введет yes
, после чего остановится.
Я не уверен, что цикл while имеет смысл для того, что вы пытаетесь сделать здесь. Я написал бы это больше как следующее:
print('Welcome to the WiFi Connection Wizard, here are some troubleshooting steps:')
messages = [
'Please reboot your computer and then try to reconnect.',
'Please reboot your router and then try to reconnect.',
'Please make sure the cables between the router and modem are securely plugged in.',
'Please try moving the router to a different location.'
]
for m in messages:
print('\n{}'.format(m))
solve = input('Did this solve your problem? Plase type "yes" or "no": ')
if solve == 'yes':
break