мой цикл while не будет повторять вопросы - PullRequest
0 голосов
/ 11 декабря 2019
while True:
    print('Welcome to Rangers Player Statistics')
    player_name = input('Which player would you like data on? (Kent, Defoe or Morelos)     ')
    player_stat = input('Which statistic would you like? (goals, shots or headers)      ')

    statistic_grab()

    new_stat = input('Would you like another stat?     ')
    while new_stat == 'yes':
        continue
    elif new_stat = 'no'
    print('Goodbye')
    break
else:
        print('Invalid Input')

2 вещи здесь, я получаю недопустимый синтаксис в своем выражении elif

что я должен иметь, где 'в то время как истина', чтобы заставить это повторяться, если пользователь не скажет нет

1 Ответ

0 голосов
/ 11 декабря 2019
while new_stat == 'yes':
    continue

Это классический бесконечный цикл. continue здесь не продолжает внешний цикл;он продолжает этот цикл, который снова проверяет new_stat == 'yes' и продолжает работать, потому что new_stat по-прежнему 'yes'. В этом цикле нет ничего, что могло бы изменить new_stat на что-то другое, поэтому цикл не может завершиться.

Я полагаю, основываясь на логике continue и elif, которые вы написали впоследствии,что это должен быть оператор if вместо цикла while:

if new_stat == 'yes':
    continue
elif new_stat == 'no':
    print('Goodbye')
    break

Было несколько других ошибок, которые легко исправить;запишите == вместо = для сравнения с 'no', : в конце условия elif и отступы print и break относительно elif.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...