You can obtain the Highest Even value From your mentioned tuple not list by using filter() and lambda Expression.
Highest Even Element in The Tuple
Code Syntax
def highest_even(*tuple):
lis = filter(lambda x: x % 2 == 0, tuple)
return print(f"your maximum even number is: {max(lis)}")
highest_even(1,2,3,4,5,6,7,8,9,10,11,12,111,222,444,555)
Output
your maximum even number is: 444
[Program finished]
Sorting Depending on Highest Even Element
Code Syntax
def highest_even_list(*tuple):
lis = sorted(filter(lambda x: x % 2 == 0, tuple), reverse=True)
return print(f"Sorted List depending on The highest Even Elements:n{lis}")
highest_even_list(1,2,3,4,5,6,7,8,9,10,11,12,111,222,444,555)
Output
Sorted List depending on The highest Even Elements:
[444, 222, 12, 10, 8, 6, 4, 2]
[Program finished]
Using Kwargs for Reversing
You can also decide if you want to sort it ascending or descending using **kwargs
Code Syntax
def highest_even_list(*tuple, **kwargs):
lis = sorted(filter(lambda x: x % 2 == 0, tuple), **kwargs)
return print(f"Sorted List depending on The highest Even Elements:n{lis}")
highest_even_list(1,2,3,4,5,6,7,8,9,10,11,12,111,222,444,555, reverse=True)
Output
Sorted List depending on The highest Even Elements:
[444, 222, 12, 10, 8, 6, 4, 2]
[Program finished]
Кодинг-марафон. Задача 5.
Условие: Напишите функцию, которая находит наибольшее четное число в списке. Верните -1, если ничего не найдено. Использовать встроенные функции max()
и sorted()
— запрещено.
Пример:
largest_even([3, 7, 2, 1, 7, 9, 10, 13]) ➞ 10
Список для задачи: [0, 19, 18973623]
.
Приводим три варианта решения задачи:
def largest_even(lst): res = -1 for x in lst: if not x % 2 and x > res: res = x return res
def largest_even(r, n=-1): if not r: return n n = [n, r[0]][not r[0] & 1 and r[0] > n] return largest_even(r[1:], n)
def largest_even(lst): max=0 for i in lst: if i%2==0 and i>max: max=i if max==0: return -1 return max
Какое наибольшее четное число?
Необходимо из 3 вводимых натуральных чисел составить наибольшее четное натуральное число.
Программа тестирования говорит, что пройдено только 10 тестов из 50. Что не так?
a, b, c = map(int, input().split())
n1 = max(a, b, c)
n2 = a + b + c - n1
n3 = 0
if a == n1:
if c % 2 != 0:
n2 = n2 - c
n3 = c
if b % 2 != 0:
n2 = n2 - b
n3 = b
if b == n1:
if a % 2 != 0:
n2 = n2 - a
n3 = a
if c % 2 != 0:
n2 = n2 - c
n3 = c
if c == n1:
if a % 2 != 0:
n2 = n2 - a
n3 = a
if b % 2 != 0:
n2 = n2 - b
n3 = b
print(n1 * 100 + n2 + n3 * 10)
-
Вопрос заданболее трёх лет назад
-
779 просмотров
Если я правильно понял цель задания то можно сделать так:
s = [23,45,67]
from itertools import chain, combinations
def all_subsets(ss):
return chain(*map(lambda x: combinations(ss, x), range(1, len(ss)+1)))
variants = max([vv for vv in (sum(v) for v in all_subsets(s)) if vv % 2 == 0])
Если нет, то приложить задания полностью
Пригласить эксперта
-
Показать ещё
Загружается…
28 мая 2023, в 11:13
1000 руб./за проект
28 мая 2023, в 08:16
5000 руб./за проект
28 мая 2023, в 07:29
1500 руб./за проект
Минуточку внимания
Dimakonuhov17 0 / 0 / 0 Регистрация: 12.04.2021 Сообщений: 21 |
||||
1 |
||||
Наибольшее четное число12.04.2021, 19:39. Показов 8633. Ответов 18 Метки нет (Все метки)
Наибольшее чётное число Входные данные Вводятся три цифры, разделённые пробелом. Гарантируется, что хотя бы одна из них отлична от нуля, и хотя бы одна цифра чётная. Выходные данные Вывести одно трёхзначное число (без пробелов). Число не может начинаться с нуля. Примеры
Добавлено через 1 минуту
0 |
Gdez 7258 / 4047 / 1780 Регистрация: 27.03.2020 Сообщений: 6,875 |
||||
12.04.2021, 19:46 |
2 |
|||
Dimakonuhov17, отступы похоже
А если будет 100-значное число, будешь 100 инпутов прописывать и делать список из 100! чисел???
0 |
iSmokeJC Am I evil? Yes, I am! 16254 / 9010 / 2605 Регистрация: 21.10.2017 Сообщений: 20,715 |
||||
12.04.2021, 19:50 |
3 |
|||
что не так с моим кодом
Вводятся три цифры, разделённые пробелом
0 |
0 / 0 / 0 Регистрация: 12.04.2021 Сообщений: 21 |
|
12.04.2021, 19:54 [ТС] |
4 |
С отступами у меня все нормально, а исправив вход, ничего не поменялось.
0 |
Am I evil? Yes, I am! 16254 / 9010 / 2605 Регистрация: 21.10.2017 Сообщений: 20,715 |
|
12.04.2021, 20:00 |
5 |
ничего не поменялось Чего не поменялось? Можно вопрос внятно задать?
что не так с моим кодом Убийственный вопрос!
0 |
0 / 0 / 0 Регистрация: 12.04.2021 Сообщений: 21 |
|
12.04.2021, 20:04 [ТС] |
6 |
Короче, тест. система опять считает, что «Программа выдает ошибку в процессе выполнения»
0 |
Matrix3007 194 / 160 / 41 Регистрация: 13.05.2019 Сообщений: 828 |
||||
12.04.2021, 20:36 |
7 |
|||
0 |
0 / 0 / 0 Регистрация: 12.04.2021 Сообщений: 21 |
|
12.04.2021, 21:08 [ТС] |
8 |
Matrix3007, пишет, что ответ неверный
0 |
user-ganz Костыли любой сложности 201 / 146 / 36 Регистрация: 27.10.2019 Сообщений: 843 |
||||
12.04.2021, 22:03 |
9 |
|||
Dimakonuhov17,
0 |
Dax Модератор 1353 / 650 / 207 Регистрация: 23.03.2014 Сообщений: 3,054 |
||||
13.04.2021, 09:41 |
10 |
|||
Пойдет?
0 |
194 / 160 / 41 Регистрация: 13.05.2019 Сообщений: 828 |
|
13.04.2021, 12:55 |
11 |
Dimakonuhov17, Мне лень. Сделай то же самое, только ищи не любое четное, а минимальное, и уже его добавляй в конец.
0 |
0 / 0 / 0 Регистрация: 12.04.2021 Сообщений: 21 |
|
13.04.2021, 16:21 [ТС] |
12 |
Не-а. «Программа выдает неверный ответ». тестировщик(с)
0 |
7258 / 4047 / 1780 Регистрация: 27.03.2020 Сообщений: 6,875 |
|
13.04.2021, 16:35 |
13 |
Dimakonuhov17, без конкретики (скринов, конкретных ошибочных тестов) бесполезный диалог.
1 |
Matrix3007 194 / 160 / 41 Регистрация: 13.05.2019 Сообщений: 828 |
||||
13.04.2021, 17:54 |
14 |
|||
Пробуй.
0 |
0 / 0 / 0 Регистрация: 12.04.2021 Сообщений: 21 |
|
13.04.2021, 18:03 [ТС] |
15 |
Matrix3007, Программа выводит ответ в неверном формате. то есть я вбил в Питон, он вот так: 8 1 5(я ввел, входные данные)
0 |
Matrix3007 194 / 160 / 41 Регистрация: 13.05.2019 Сообщений: 828 |
||||
13.04.2021, 18:06 |
16 |
|||
как программу дочесать, чтобы она именно число выводила, а не список? Если ты не знаешь даже этого, то зачем решаешь такие задачи?
print(sorted(lst[:mini]+lst[mini+1:], reverse=1)+[minx])
0 |
GorodetskiyKP 137 / 95 / 48 Регистрация: 22.10.2012 Сообщений: 234 |
||||
13.04.2021, 18:20 |
17 |
|||
Решение
1 |
Matrix3007 194 / 160 / 41 Регистрация: 13.05.2019 Сообщений: 828 |
||||
13.04.2021, 18:50 |
18 |
|||
GorodetskiyKP,
0 |
0 / 0 / 0 Регистрация: 12.04.2021 Сообщений: 21 |
|
13.04.2021, 18:57 [ТС] |
19 |
GorodetskiyKP, спасибо, чел, от души, помог!
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
13.04.2021, 18:57 |
Помогаю со студенческими работами здесь Даны три целых числа. Вывести наибольшее четное число, если хотя бы одно такое число есть Вывести наибольшее четное число Вывести наибольшее четное число, если хотя бы одно такое число есть, в противном случае сообщить об отсутствии четных
Вывести на экран наибольшее четное число
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 19 |
Уведомления
- Начало
- » Центр помощи
- » Можно ли это записать проще?
#1 Янв. 24, 2019 21:26:05
Можно ли это записать проще?
РЕБЯТАААА!
Это можно написать как то проще?
———————————————————————————-
Пользователь вводит четыре числа.
Найдите наибольшее четное число среди них.
Если оно не существует, выведите фразу “not found”
———————————————————————————-
ФАЙЛИК ПРИКРЕПИЛ ЕСЛИ ЧТО
- ———————————————————————————-
num_1 = int (input (“Введите первое число: ”))
num_2 = int (input (“Введите второе число: ”))
num_3 = int (input (“Введите третье число: ”))
num_4 = int (input (“Введите четвертое число: ”))if num_1 % 2 == 0:
if num_2 % 2 == 0:
if num_3 % 2 == 0:
if num_4 % 2 == 0:
if num_1 > num_2 > num_3 > num_4:
print (num_1)
else:
if num_2 > num_3 > num_4:
print (num_2)
else:
if num_3 > num_4:
print (num_3)
else:
print (num_4)
else:
if num_1 > num_2 > nnum_3:
print (num_1)
else:
if num_2 > num_3:
print (num_2)
else:
print (num_3)
else:
if num_4 % 2 == 0:
if num_1 > num_2 > num_4:
print (num_1)
else:
if num_2 > num_4:
print (num_2)
else:
print(num_4)
else:
if num_1 > num_2:
print (num_1)
else:
print (num_2)
else:
if num_3 % 2 == 0:
if num_4 % 2 == 0:
if num_1 > num_3 > num_4:
print(num_1)
else:
if num_3 > num_4:
print(num_3)
else:
print(num_4)
else:
if num_1 > num_3:
print(num_1)
else:
print(num_3)
else:
if num_4 % 2 == 0:
if num_1 > num_4:
print(num_1)
else:
print(num_4)
else:
print(num_1)
else:
if num_2 % 2 == 0:
if num_3 % 2 == 0:
if num_4 % 2 == 0:
if num_2 > num_3 > num_4:
print(num_2)
else:
if num_3 > num_4:
print(num_3)
else:
print(num_4)
else:
if num_2 > num_3:
print(num_2)
else:
print(num_3)
else:
if num_4 % 2 == 0:
if num_2 > num_4:
print(num_2)
else:
print(num_4)
else:
print(num_2)
else:
if num_3 % 2 == 0:
if num_4 % 2 == 0:
if num_3 > num_4:
print(num_3)
else:
print(num_4)
else:
print(num_3)
else:
if num_4 % 2 == 0:
print(num_4)
else:
print(“not found”)
Прикреплённый файлы: Задача 15. Условные операции.py (2,8 KБ)
Офлайн
- Пожаловаться
#2 Янв. 24, 2019 22:39:34
Можно ли это записать проще?
Один из способов
lst_number = [int(input("Введите {} число: ".format(x))) for x in ['первое', 'второе', 'третье', 'четвертое']] try: print(max([y for y in lst_number if not (y % 2)])) except ValueError: print("not found")
Офлайн
- Пожаловаться
- Начало
- » Центр помощи
- » Можно ли это записать проще?