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 будет храниться список чисел, означающих рост, а не кортежей
Answers & Comments
Ответ:
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 будет храниться список чисел, означающих рост, а не кортежей