Создание цикла сложения, который останавливается при достижении определенного числа

#python

#python

Вопрос:

Я очень новичок в программировании и пытаюсь создать простую программу сложения, которая будет постоянно добавлять 1 к предыдущему числу (начиная с 1), пока не достигнет числа, определенного пользователем (в данном случае это возраст пользователя).).

 age = int(input("What is your age?: "))
count = 1
while True:
    while count > 0:
        print(count)
        count  = 1

    if count == age:
        break
  

Я полагал, что у меня это работает, но по какой-то причине он продолжает добавлять 1 и выводить число без остановки. Например, если я говорю, что мне 21 год, я хочу, чтобы программа печатала каждое число, начиная с 1, пока оно не достигнет 21.

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

1. Вы должны сделать отступ в if count == age: блоке на одну вкладку вправо. Это вне цикла как есть. И while True: это может быть полностью отброшено.

2. @RandomDavis И вы все равно застрянете в бесконечном цикле. Вам не нужно 2 цикла while, просто while count != age: count =1 достаточно. И если вам нужен синтаксис с разрывом, просто удалите второй цикл while и уменьшите отступ на единицу для печати и приращения.

3. Это будет продолжаться вечно.

4. Само определение «никаких исследовательских усилий». Узнайте, как использовать отладчик, и посмотрите, что произойдет.

Ответ №1:

 age = int(input("What is your age?: "))
count = 1
  

Эта часть будет выполняться всегда, в бесконечном цикле while True:
Просто запустите приведенный ниже раздел вашего кода

 while count > 0:
    print(count)
    count  = 1

    if count == age:
      break
  

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

1. @spirebyte вам следует провести некоторое исследование по этому вопросу, и если вы вообще ничего не можете найти, опубликуйте это как отдельный вопрос (я гарантирую, что если вы загуглите то, что ищете, вы получите ответ очень быстро).

2. @spirebyte Сначала вы должны изучить и попробовать самостоятельно. Попробуйте сделать это математически, используя модуль, а затем попробуйте с помощью кода. Если все еще не получается, рад помочь! И принимайте / поддерживайте ответ, когда сочтете его полезным.

Ответ №2:

Вы были близки к этому, но оператор «break» находится за пределами вашего внутреннего цикла и никогда не будет достигнут. Кроме того, у вас есть вложенный while цикл, который не нужен. Вы можете сделать это с помощью одного цикла, как показано ниже:

 age = int(input("What is your age?: "))
count = 0
while True:
    count  = 1
    print(count)
    if count == age:
        break
  

С помощью этого единственного цикла он начнет показывать 1, а затем показывать каждое число, пока вы не дойдете до нужного числа (возраста), а затем покинете цикл.

Существует много различных способов решения этой проблемы. Некоторые из них лучше других. Что самое важное, когда вы только начинаете, так это то, что вы получаете что-то, что работает. Затем, когда вы поймете это, вы сможете подумать о том, как сделать его «лучше», например, сделав его короче или эффективнее.

Ответ №3:

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

 a = int(input('Enter: '))
x = 0
while x < a:
    x  =1
  

if не является необходимым для этого скрипта