Ответы на вопрос:
квас не ломать
Объяснение:
# TODO Дописать функцию анализирующую ситуацию с пандемией
# На вход функции подаётся строка, которая характеризует планету "01000000X000X011X0X"
# "0" – незараженная суша, "1" – зараженная суша, "X" – континет
# Вирус не может перемещаться на другой континент через океан
# Найти процент суши, которая будет зараженной по итогу.
# Пример:
# начало: map1 = "01000000X000X011X0X"
# конец: map1 = "11111111X000X111X0X"
# всего = 15
# зараженной суши = 11
# процент зараженной суши = 100 * 11 / 15 = 73.33333333333333
def infected(world):
infected = False # Флаг хотя бы одного зараженного континента
sum_of_infected = 0 # Общее количество зараженных
nums_of_lands_and_oceans = len(world) # Суммарное количество морей и континентов
nums_of_lands = 0 # Количество континентов
nums_of_lands_before_ocean = 0
has_no_oceans = False
for s in world:
if s != "X":
nums_of_lands += 1 # Количество континентов
has_no_oceans = False
if nums_of_lands == nums_of_lands_and_oceans or nums_of_lands == 0:
has_no_oceans = True
for s in world:
if s == "0":
nums_of_lands_before_ocean += 1
elif s == "1":
nums_of_lands_before_ocean += 1
infected = True
elif s == "X":
if infected:
sum_of_infected += nums_of_lands_before_ocean
infected = False
nums_of_lands_before_ocean = 0
if not has_no_oceans:
return 100 * sum_of_infected / nums_of_lands
else:
if infected:
return 100
else:
return 0
tests = [
("01000000X000X011X0X", 73.33333333333333),
("01X000X010X011XX", 72.72727272727273),
("", 0),
("00000000X00X0000", 0),
("0000000010", 100),
("0000010010X1X00010X", 100),
("X00X000000X10X0100X", 42.857142857142854),
]
goal = 0
for inp, exp in tests:
if infected(inp) == exp:
goal += 1
if goal == 7:
print('Круто! Функция работает:)')
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Українська література
-
mazurenkoella13.09.2021 16:02
-
ОтличницаDashaE28.05.2021 19:49
-
Джеси9919.03.2023 06:10
-
sergei6628407.03.2022 18:23
-
maratabdullin1p0dtuc28.12.2020 01:37
-
pustayai06.05.2020 17:22
-
Rdamir200828.05.2020 16:28
-
kukolkabarb19.08.2021 12:51
-
Адил111111111105.08.2020 02:38
-
temirhanarmy21.09.2021 09:40
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.