Есть ответ 👍

(Задача по Питону) По заданным сведениям об учениках класса определить средний вес мальчиков и средний рост девушек. Вывести фамилию самого высокого ученика в классе.

И напишите с объяснением

244
472
Посмотреть ответы 2

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


--- Python 3.7 ---

import statistics

def ReadData(Count): #Читаем с консоли информацию об ученике

   print('Enter Student parameters: gender (G/B (Upper case!)),  surname, height and weight. Use "space" to split data\nStrictly follow input order!\n')

   for _ in range(Count):

       rawData = input().split(' ')

       yield {'gender': rawData[0],'surname':rawData[1], 'height':int(rawData[2]), 'weight':int(rawData[3])}

   

def IsolateParameter(Container, Attribute): #Возвращает итерируемый объект. Перебирает словарь, возвращает значение в словаре по заданному ключу

   for LocCont in Container:

       yield LocCont[Attribute]

       

def StatAverage(Cont, Attribute, StatFunc): #Подсчитывает статистику (функция, использующаяся для подсчёта статистики, задаётся при вызове функции под именем StatFunc) для всех значений словаря по заданному ключу

   return StatFunc(list(IsolateParameter(Cont, Attribute)))

   

def GetTopHeight(Cont): #Возвращает максимальное значение среди всех элементов словаря под ключом 'height'

   return max(list(IsolateParameter(Cont, 'height')))

   

def main(): #Основное тело программы.

   RawData = ReadData(int(input('Count of Students:\n')))

   ListedData = list(RawData) #Работать с генератором далее не удобно

   AllBoys = filter(lambda g: g['gender'] == 'B', ListedData)

   AllGirls = filter(lambda g: g['gender'] == 'G', ListedData)

   AvBoyWeight = StatAverage(AllBoys, 'weight', statistics.mean)

   AvGirlsHeight = StatAverage(AllGirls, 'height', statistics.mean)

   TopHeightSurname = GetTopHeight(ListedData)

   print('''

   Average Boys weight: {0};

   Average Girls height: {1};

   Surname of tallest student: {2}

   '''.format(AvBoyWeight, AvGirlsHeight, TopHeightSurname))

   

if __name__ == '__main__':

   main()

Объяснение:


Var m, n: integer; r: real; begin n: =random(-9999,9999); m: =random(-9999,9999); if m< > 0 then   begin r: =((n)mod(m)); writeln(r);     end else writeln('выполнение деления невозможно, т.к. знаменатель равен нулю. перезапустите программу для подбора других значений'); end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS