Помогите решить задачу в Pyton

Статус
Закрыто для дальнейших ответов.

Морозова Ольга

Новичок
Пользователь
Ноя 23, 2020
5
0
1
Всем привет! Очень прошу помощи, совсем не могу сообразить, как решить задачу.

У нас есть список, содержащий информацию о среднедневной температуре в Фаренгейтах за произвольный период по странам (структура данных в примере). Необходимо написать код, который рассчитает среднюю температуру за период в Цельсиях(!) для каждой страны.

Пример работы программы:

countries_temperature = [
[‘Thailand’, [75.2, 77, 78.8, 73.4, 68, 75.2, 77]],
[‘Germany’, [57.2, 55.4, 59, 59, 53.6]],
[‘Russia’, [35.6, 37.4, 39.2, 41, 42.8, 39.2, 35.6]],
[‘Poland’, [50, 50, 53.6, 57.2, 55.4, 55.4]]
]

Результат:

Средняя температура в странах:
Thailand - 23.9 С
Germany - 13.8 С
Russia - 3.7 С
Poland - 12.0 С

Понятно, что здесь скорее всего вложенные циклы for, но как это все написать, не понимаю.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 566
454
83
хоть алгоритм расскажите своими словами, раз писать и пробовать ничего не хотите
 

Морозова Ольга

Новичок
Пользователь
Ноя 23, 2020
5
0
1
- через For начинаю перебирать элементы списка (в каждом шаге получаю [‘Thailand’, [75.2, 77, 78.8, 73.4, 68, 75.2, 77] ] и дальше по странам),
- следующий цикл обращается к первому элементу по индексу "0" (индекс по идее постоянный для каждого шага), он должен выводить отдельно страны.
- следующий цикл должен обращаться ко 2 элементу по индексу "1" , далее к ним применять формулу (СРЗНАЧ(все числа в элементе)-32)/1,8. Выводить к странам среднюю температуру в С.

Я пробую, но пока не выходит. Скорее всего путь неверный.
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 566
454
83
Python:
countries_temperature = [
    ['Thailand', [75.2, 77, 78.8, 73.4, 68, 75.2, 77]],
    ['Germany', [57.2, 55.4, 59, 59, 53.6]],
    ['Russia', [35.6, 37.4, 39.2, 41, 42.8, 39.2, 35.6]],
    ['Poland', [50, 50, 53.6, 57.2, 55.4, 55.4]]
]

for i in countries_temperature:
    print(i[0], '-', round((sum(i[1]) / len(i[1]) - 32) / 1.8, 1), 'C')
 

Морозова Ольга

Новичок
Пользователь
Ноя 23, 2020
5
0
1
спасибо огромное!
 
Статус
Закрыто для дальнейших ответов.

Форум IT Специалистов