
PYTHON срочно Задано дані про зріст і стать кожної з n=5 осіб. Скласти програму, яка визначає
середній зріст чоловіків.зріст 176 стать чоловікзріст 162 стать жіночазріст 181 стать чоловікзріст 159 стать жіночазріст 190 стать жіноча

Ответы на вопрос

Ответ:
lstop = [(int(i[0]), i[1]) for i in [input().split() for _ in range(10)]]
lstop = [i[0] for i in filter(lambda x: x[1] == 'm', lstop)]
print(sum(lstop) / len(lstop))
Объяснение:
Программа принимает на вход строки с информацией, рост и пол записаных через пробел, о людях, далее при помощи list comprehension в переменную lstop помещаеться список кортежей, кортежи заполнены по следущему примеру: (180, 'm'), где первый елемент рост, а второй пол, далее при помощи функции filter и list comprehension мы создаем новый список, куда не будут входить кортежи у которых второй елемент, означающий пол, не равняеться w, сокращение от women, и выводит среднее арифметическое, сумма чисел деленная на их количество, роста мужчин.
Поправочка, после второй строки кода в переменной lstop будет храниться список чисел, означающих рост, а не кортежей



Для решения данной задачи вам потребуется создать список, в котором каждый элемент будет содержать информацию о зросте и поле одной из пяти персон.
Вначале создадим список с данными о зросте и поле каждой персоны:
data = [ {'зріст': 176, 'стать': 'чоловік'}, {'зріст': 162, 'стать': 'жіноча'}, {'зріст': 181, 'стать': 'чоловік'}, {'зріст': 159, 'стать': 'жіноча'}, {'зріст': 190, 'стать': 'жіноча'} ]
Затем создадим переменные для хранения суммы зроста и количества мужчин:
sum_height = 0 count_male = 0
Пройдемся по каждому элементу списка и для каждого мужчины увеличим сумму зроста и количество мужчин на 1:
for person in data: if person['стать'] == 'чоловік': sum_height += person['зріст'] count_male += 1
Наконец, вычислим средний зрост мужчин, разделив сумму зроста на количество мужчин:
average_height = sum_height / count_male
И выведем результат:
print("Середній зріст чоловіків:", average_height)
Полный код программы:
data = [ {'зріст': 176, 'стать': 'чоловік'}, {'зріст': 162, 'стать': 'жіноча'}, {'зріст': 181, 'стать': 'чоловік'}, {'зріст': 159, 'стать': 'жіноча'}, {'зріст': 190, 'стать': 'жіноча'} ]
sum_height = 0 count_male = 0
for person in data: if person['стать'] == 'чоловік': sum_height += person['зріст'] count_male += 1
average_height = sum_height / count_male
print("Середній зріст чоловіків:", average_height)


Похожие вопросы

Топ вопросов за вчера в категории Информатика









Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili