0
Доброго времени суток, буду признателен за детальный разбор данной задачи. Сломал всю голову и не могу освоить цикл while
У вас есть магическая коробка, которая удваивает количество предметов, которое вы в нее кладете, каждый день. Данная программа принимает первоначальное количество предметов и количество дней в качестве входных данных. Задача Напишите программу, чтобы рассчитать и вывести количество предметов в последний день. Пример Входных Данных 3 2 Пример Выходных Данных 12 Объяснение Day 1: 6 (3*2) Day 2: 12 (6*2)
9 Answers
+ 6
Алексей Черкасов
В Вашем коде 5 строк, в моей подсказке 6.
В программировании очень важную роль играет внимательность к деталям.
+ 7
дни=2
предметы=3
пока дни не равны 0:
предметы * 2
дни -=1
вывод предметы
+ 3
Алексей Черкасов для того чтобы вывести один раз, то нужно это делать после цикла while в самом конце.
а чтобы все вычисления, которые в цикле while выполняли, сохраните заранее созданную переменную, пример (псевдо-код):
# --- начало программы ---
дни = ввод с клавиатуры
предметы = ввод с клавиатуры
итого = 0
пока дни > 0:
итого = итого + (предметы * 2)
дни = дни - 1
вывод итого
# --- конец программы ---
+ 3
items = int(input())
days = int(input())
while days >= 1:
items *= 2
days -= 1
print (items)
+ 2
Ещё раз внимательно посмотри на предложенный псевдо-код Юрия.
Вывод должен быть после цикла.
0
Если мы допустим возьмем пример входных данных 3 и 2 то выход получиться 6 и 6 хотя верным ответом является 12
0
В итоге пришел к такому коду
items = int(input())
days = int(input())
while days > 0:
days-=1
print(items* 2) код в таком виде будет выводить так же неверный ответ
0
Юрий, спасибо за помощь. Приехал домой с работы, со свежей головой все быстро освоилось и решилось. Не так уж и сложно как на первый взгляд:)
- 1
В итоге пришел к такому коду
items = int(input())
days = int(input())
while days > 0:
print (items*2)
days-=1
Проблема в том, что данный код выводит два числа. Хотя в выходных данных должно получиться одно, которое является верным ответом