Доброго времени суток, буду признателен за детальный разбор данной задачи. Сломал всю голову и не могу освоить цикл while | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
0

Доброго времени суток, буду признателен за детальный разбор данной задачи. Сломал всю голову и не могу освоить цикл while

У вас есть магическая коробка, которая удваивает количество предметов, которое вы в нее кладете, каждый день. Данная программа принимает первоначальное количество предметов и количество дней в качестве входных данных. Задача Напишите программу, чтобы рассчитать и вывести количество предметов в последний день. Пример Входных Данных 3 2 Пример Выходных Данных 12 Объяснение Day 1: 6 (3*2) Day 2: 12 (6*2)

4th Dec 2021, 10:25 PM
Алексей Черкасов
Алексей Черкасов - avatar
9 Answers
+ 6
Алексей Черкасов В Вашем коде 5 строк, в моей подсказке 6. В программировании очень важную роль играет внимательность к деталям.
5th Dec 2021, 10:21 AM
Yurii Ostapenko
Yurii Ostapenko - avatar
+ 7
дни=2 предметы=3 пока дни не равны 0: предметы * 2 дни -=1 вывод предметы
4th Dec 2021, 10:41 PM
Yurii Ostapenko
Yurii Ostapenko - avatar
+ 3
Алексей Черкасов для того чтобы вывести один раз, то нужно это делать после цикла while в самом конце. а чтобы все вычисления, которые в цикле while выполняли, сохраните заранее созданную переменную, пример (псевдо-код): # --- начало программы --- дни = ввод с клавиатуры предметы = ввод с клавиатуры итого = 0 пока дни > 0: итого = итого + (предметы * 2) дни = дни - 1 вывод итого # --- конец программы ---
5th Dec 2021, 7:06 PM
Ilyas Bakirov
Ilyas Bakirov - avatar
+ 3
items = int(input()) days = int(input()) while days >= 1: items *= 2 days -= 1 print (items)
21st Feb 2022, 7:27 PM
Наталья Фролова
Наталья Фролова - avatar
+ 2
Ещё раз внимательно посмотри на предложенный псевдо-код Юрия. Вывод должен быть после цикла.
5th Dec 2021, 1:22 AM
Solo
Solo - avatar
0
Если мы допустим возьмем пример входных данных 3 и 2 то выход получиться 6 и 6 хотя верным ответом является 12
4th Dec 2021, 11:31 PM
Алексей Черкасов
Алексей Черкасов - avatar
0
В итоге пришел к такому коду items = int(input()) days = int(input()) while days > 0: days-=1 print(items* 2) код в таком виде будет выводить так же неверный ответ
5th Dec 2021, 8:23 AM
Алексей Черкасов
Алексей Черкасов - avatar
0
Юрий, спасибо за помощь. Приехал домой с работы, со свежей головой все быстро освоилось и решилось. Не так уж и сложно как на первый взгляд:)
5th Dec 2021, 2:22 PM
Алексей Черкасов
Алексей Черкасов - avatar
- 1
В итоге пришел к такому коду items = int(input()) days = int(input()) while days > 0: print (items*2) days-=1 Проблема в том, что данный код выводит два числа. Хотя в выходных данных должно получиться одно, которое является верным ответом
4th Dec 2021, 11:27 PM
Алексей Черкасов
Алексей Черкасов - avatar