Проблема с циклом while в Python, повторяющейся строкой - PullRequest
0 голосов
/ 29 сентября 2018
a = input('Enter your username...')
while (a == 'SuperGiraffe007&'):
  print('Welcome!')
else:
  print("Try again...")
a = input('Enter your username...')
while (a == 'SuperGiraffe007&'):
  print('Welcome!')
  • Код работает правильно, но когда я ввожу правильное имя пользователя, строка «Добро пожаловать!»повторяется навсегда, что сбивает мой браузер.Как мне остановить его повторение и печатать только один раз?

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Похоже, вы неправильно поняли, что делает цикл while.Он проверяет условие, которое вы ему даете, и продолжает повторять тело цикла до тех пор, пока условие выполняется.Бесконечный цикл, который вы описываете, - это именно то, что вы запрашиваете в своем коде.

Я думаю, что вам нужен цикл, который останавливается , когда пользователь вводит правильное имя пользователя:

a = input('Enter your username...')
while a != 'SuperGiraffe007&': # stop looping when the name matches
    print("Try again...")
    a = input('Enter your username...') # ask for a new input on each loop
print('Welcome!')
0 голосов
/ 29 сентября 2018

Я думаю, вам нужно использовать if вместо while.Кроме того, вам не нужны круглые скобки при использовании условного в python.Используйте это:

a = input('Enter your username...')
if a == 'SuperGiraffe007&':
  print('Welcome!')
else:
  print("Try again...")
a = input('Enter your username...')
if (a == 'SuperGiraffe007&'):
  print('Welcome!')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...