Как выполнить цикл с контролем количества без возврата количества к 0?

#python #count #iteration #increment

#python #подсчет #итерация #увеличить

Вопрос:

Итак, у меня есть этот раздел кода здесь:

 count = 1
if count < 5:
      print ("If 5 rounds have passed, enter any other key: ")
      nextr = str(input("Do you want to continue to the next round?(1)"   "n"))
      if nextr in ("1", "(1)"):
            count  = 1
            continue
      while count == 5:
          break
  

И я задавался вопросом: как я мог бы выполнить этот цикл с контролем количества, не возвращаясь каждый раз к 1. Я бы хотел, чтобы программа прошла игру один раз, спросила пользователя, хотят ли они продолжить, затем прошла ее еще 4 раза, прежде чем прервать, а затем показала окончательные результаты. Любая помощь с благодарностью!

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

1. Вы полностью запутались в цикле и условном операторе. Подумайте о том, что это делает: while count == 5: break .

2. Вы имеете в виду if count < 5: преобразованный в while count < 5: ?

3. Входные данные уже являются строкой, вам не нужно анализировать str(input[...]

Ответ №1:

Я не уверен, что вы ищете, но это может помочь.

 print ("If 5 rounds have passed, enter any other key")
count = 1
while count <= 5:    
    nextr = (input("Do you want to continue to the next round?(Yes/No)"))
    print ("count = ",count)
    if nextr.lower() in ("y", "yes"):
        count  = 1
  

Или, может быть, что-то вроде этого:

 import time

def round_5():
    count = 1
    while count <= 5:
        print ("Count = ",count)
        count  = 1
        time.sleep(1)
nextr = "y"
print ("If 5 rounds have passed, enter any other key:")
while nextr.lower() in ("yes","y"): 
    round_5()
    nextr = (input("Do you want to continue to the next round?(Yes/No)"))
print ("Thank you, have a nice day")
  

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

1. Эти continue и break совершенно не нужны.

2. Что я хотел бы знать, так это то, что при циклическом просмотре программы один раз получается количество, равное 1. Как только пользователь вводит (1), чтобы перейти к следующему раунду, он проходит через этот раунд. Однако в конце этого раунда он изменяет количество обратно на 1, что никогда не останавливает программу.

3. @Austin Да, вы правы. Я просто следую коду Оливера.

4. @Oliver Каким должен быть первый ввод вашей программы? Особенно для вопроса о Do you want to continue to the next round?(1)

5. Для продолжения вводом будет 1 или (1), но с учетом изменения его на «Да», чтобы это было менее запутанным.