
В файле записаны несколько действительных чисел. Напишите функцию которая принимает строку как
параметр и вводит их целые части в список. Напишите лямбда функцию которая находит самую большую четную и не четную, и выведит их в виде словаря: {max_odd: n, max_even: m}.

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

import random
import math
boxOfNumbers = [random.uniform(1, 1000) for x in range(0, 10)]
#Создание функции с названием "Integer", вычисляющую целые части чисел в списке
def Integer(parameter): #Создание параметра с названием "parameter"
for i in range (0, len(boxOfNumbers)):
boxOfNumbers[i] = int(boxOfNumbers[i]) #Преобразование числа с плавающей точкой в целое число
return(boxOfNumbers)
print('Separates all integer parts of numbers, just enter something on the keyboard: ')
print(Integer(parameter = input())) #Здесь строка принимается как параметр, я же правильно написала, да-да? :D
#Создание лямбда функций: переменной Even — присваивается значение лямбда функции, которая из себя представляет отфильтрованный список
#Вызываем функцию Integer, чтобы фильтровался список, состоящий уже из целых чисел
Even = max(list(filter(lambda even: even % 2 == 0, Integer(5)))) #Даём любое значение параметру "parameter"
Odd = max(list(filter(lambda odd: odd % 2 == 1, Integer(5)))) #Здесь то же самое
#Создаём словарь с названием "Dictionary", в нём хранятся категории: "Even Numbers", "Odd Numbers", со значениями соответсвенно: Even, Odd
dictionary = {'Even Numbers' : Even,
'Odd Numbers' : Odd
}
#Получаем доступ к значениям из категорий, с помощью обьявления новых переменных
EvenNumbers = dictionary.get('Even Numbers')
OddNumbers = dictionary.get('Odd Numbers')
print('\nThe values of the largest even and odd number:')
print(EvenNumbers)
print(OddNumbers)



Для решения этой задачи, вы можете написать следующую функцию на языке Python:
pythondef find_max_even_odd(input_string):
# Функция, которая преобразует строку с числами в список целых частей
def extract_integers(input_string):
numbers = input_string.split() # Разбиваем строку на числа
integer_parts = [int(number.split('.')[0]) for number in numbers if '.' in number]
return integer_parts
# Преобразуем строку в список целых частей
integer_list = extract_integers(input_string)
# Лямбда функция для нахождения максимального четного и нечетного числа
find_max_even_odd = lambda lst: {
'max_even': max(filter(lambda x: x % 2 == 0, lst), default=None),
'max_odd': max(filter(lambda x: x % 2 != 0, lst), default=None)
}
# Находим максимальные четное и нечетное числа в списке целых частей
result = find_max_even_odd(integer_list)
return result
# Пример использования:
input_string = "3.14 2.71 10.0 5.5 7.0 6.3"
result = find_max_even_odd(input_string)
print(result)
Этот код сначала преобразует входную строку в список целых частей, затем с использованием лямбда-функции находит максимальное четное и нечетное число и возвращает их в виде словаря.


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