#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
не является необходимым для этого скрипта