Как вернуться к началу кода на Python 3.7

#python #python-3.x

#python #python-3.x

Вопрос:

После того, как я ввожу 5 имен пользователей, он останавливается сам. Как я могу предотвратить это.

 username = ['admin','bill','kevin','mike','nick']

for user in username:
 name = input("Please enter a username: ")
 if name == 'admin':
    print("Hello "  name.title()   " ,would you like to see a status report?")
 else:
  if name in username:
   print("Hello "   name.title()   " thank you for logging in!")
  else:
      if name not in username:
          print("Who are you "   name.title()   " ? ")
  

Комментарии:

1. Ваша первая строка повторяет список name. Вместо этого вам следует использовать бесконечный цикл.

2. Как упоминалось выше, вы используете цикл for, который выполняет итерацию по любым данным, которые вы собираетесь выполнить, но только один раз. Цикл while может использоваться до тех пор, пока не будет выполнено какое-либо будущее условие. Это останавливается через 5, потому что у вас есть только 5 элементов в вашем списке username, и снова цикл for повторяет все в этом списке только один раз.

Ответ №1:

 username = ['admin','bill','Kevin','mike','nick']
while True :

    name =input("Please enter a username: ")
    if name=='admin' :
        print("Hello "  name   " ,would you like to see a status report?")
        break
    elif name in username :
        print("Hello "   name.title()   " thank you for logging in!")
        break
    else:
        print("Who are you "   name.title()   " ? ")
  

Комментарии:

1. если вы хотите, чтобы код продолжал запрашивать у вас ввод имени пользователя независимо от печатной инструкции, просто удалите два разрыва .

Ответ №2:

Вы можете использовать бесконечный цикл. Это пример. «while True» работает вечно.

 username = ['admin','bill','kevin','mike','nick']  
while True:
    name = input("What's your nickname?")
    if(name in username):
        print("Hello "   name   "! Thank you for logging in!")
  

Ответ №3:

Я думаю, вы могли бы выглядеть примерно так:

 username = ['admin','bill','Kevin','mike','nick']
while True:
    while True :
    name = input("Please enter a username: ")
    if name=='admin' :
        print("Hello "  name   " ,would you like to see a status report?")
        answer = input()
        if answer == 'yes':
            print('report')
        break;

    if name in username :
        print("Hello "   name.title()   " thank you for logging in!")
        break;
    else:
        print("Who are you "   name.title()   " ? ")
        break;
  

Используйте цикл while True внутри другого, чтобы всякий раз, когда второй цикл прерывается, цикл возвращался к первому.

Надеюсь, это поможет.