(Задача по Питону) По заданным сведениям об учениках класса определить средний вес мальчиков и средний рост девушек. Вывести фамилию самого высокого ученика в классе.
def IsolateParameter(Container, Attribute): #Возвращает итерируемый объект. Перебирает словарь, возвращает значение в словаре по заданному ключу
for LocCont in Container:
yield LocCont[Attribute]
def StatAverage(Cont, Attribute, StatFunc): #Подсчитывает статистику (функция, использующаяся для подсчёта статистики, задаётся при вызове функции под именем StatFunc) для всех значений словаря по заданному ключу
Для того что бы округлить нужно использовать "=ОКРУГЛ" данная команда округляет число до указанного количества десятичных разрядов, цифр после запятой. (что бы округлить сумму нужно записывать количество десятичных разрядов в конце выражения). Пример: «=ОКРУГЛ(выражение);число)»
Дано:
Математическое выражение: "(89+77)−2(79:(3+10))"
Найти: ответ, и округлить его до сотых в MS Excel.
Формула (Её нужно ввести в окошко Excel и нажать "Enter"): «=ОКРУГЛ((89+77)-2*(79/(3+10));2)»
ответ: 153,85
Далее скриншот, и файл Excel в котором формула и сам ответ.
Наливаем варенье в 3-ёх литровую банку, выливаем эти 3 литра в 5-ти литровую, Снова наливаем в 3-ёх литровую банку варенье и переливаем эти 2 литра, которые смогут влезть в 5-ти литровую, в 3-ёх литровой останется литр, из 5-ти литровой банки выливаем варенье обратно в 8-ми литровую, из 3-ёх литровой переливаем наш литр в 5-ти литровую, набираем пустую 3-ёх литровую банку варенье из 8-ми литровой, в которой останется 4 литра, а полную 3-ёх литровую выливаем в 5-ти литровую, в которой уже есть литр, получится, что в 8-ми литровой банке 4 литра и в 5-ти литровой банке 4 литра, которые он уже может дать по отдельности Фрекен и Карлсону.
--- 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()
Объяснение: