• Предмет: Информатика
  • Автор: nero392
  • Вопрос задан 4 месяца назад

2. В 1-й ферме 1000 овец. Каждый день количество овец этой фермы увеличивается на 1%. Если в конце месяца количество овец увеличится на 50000, то 10% овец пере- ведут на 2-ю ферму. Через сколько времени количество овец на 2-й ферме превысит 35000? (Нужно учитывать, что в одном месяце 30 рабочих дней). (Python) (Желательно с использование цикла continue)​


Аноним: Либо условие неполное, либо содержит ошибку. Измени.

Ответы

Ответ дал: vimmortal2
3

Программа:

Python:

def find_days(num_sheep):

   days = 0

   num_sheep_2 = 0

   while num_sheep_2 <= 35000:

       days += 1

       num_sheep *= 1.01

       if days % 30 != 0:

           continue

       num_sheep_2 += num_sheep * 0.1

       num_sheep -= num_sheep * 0.1

   return days

print(find_days(1000))

Объяснение:

Функция find_days принимает единственный аргумент num_sheep, который является начальным количеством овец на первой ферме. Функция использует цикл while для имитации течения времени и вычисляет количество овец на обеих фермах каждый день.

Цикл увеличивает количество дней на 1 каждую итерацию и увеличивает количество овец на первой ферме на 1% каждый день.

Если количество дней не делится на 30 (т.е. это не конец месяца), оператор continue используется для пропуска остальной части цикла и перехода к следующей итерации.
Если количество дней кратно 30 (т.е. это конец месяца), то 10% овец переводятся с первой фермы на вторую ферму, и количество овец на обеих фермах обновляется соответствующим образом.

Цикл продолжается до тех пор, пока количество овец на второй ферме не превысит 35 000, после чего функция возвращает количество дней.

В конце вызывается функцию find_days с начальным количеством овец и выводится результат.


lolayoulhhghh: Добрый вечер помогите пожалуйста с историей если можете для меня очень важна эта робота, задание у меня в профиле. помогите пожалуйста с историей если можете для меня очень важна эта робота, задание у меня в профиле.
Вас заинтересует