Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 27.02.2022
Сообщений: 11

Ключевой максимум

13.03.2022, 22:33. Показов 2388. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Среди введенных слов найдите содержащее наибольшее количество букв a, а среди них самое длинное, если и таких несколько, то ближайшее к концу алфавита.

Среди вводимых слов хотя бы одно точно содержит букву a.

Решите задачу в одну строку. Использовать max с ключом обязательно.

Ввод :
fascinate
manual
acceleration
postgraduate

Вывод:
postgraduate

Ввод:
volume
pointless
array
pond
loss
inhuman
duty
appointment
humanity
appropriate
decency
lens
package
curative
shut
guilt
narrate
unfamiliar
grand
indecent
narrative
avoid
glove
unfortunate
fail
upside
party

Вывод:
appropriate

Сам сделал так, но чето не дружат у меня последние два условия:
Python
1
2
import sys
print(sorted(sys.stdin, key=lambda word: (word.count('a'), len(word), word)))
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.03.2022, 22:33
Ответы с готовыми решениями:

Ключевой максимум
Среди введенных слов найдите содержащее наибольшее количество букв a, а среди них самое длинное, если и таких несколько, то ближайшее к...

С использованием цикла for записать максимум, второй максимум и минимум
Задача: Пользователь вводит 100 целых чисел, с использованием цикла for нужно записать максимум, второй максимум и минимум оно вроде...

Найти максимум из девяти чисел (максимум из трех(максимум из двух)
Найти максимум из девяти чисел (максимум из трех(максимум из двух))

20
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
13.03.2022, 23:31
Лучший ответ Сообщение было отмечено dtd1337 как решение

Решение

Python
1
2
3
words = [ 'abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'zaa', 'aa', 'aaa', 'aaab', 'baaa' ]
b = max( words, key=lambda w: ( w.count('a'), len(w), w[0] ) )
print(b)
2
 Аватар для avdivo
303 / 213 / 112
Регистрация: 03.12.2016
Сообщений: 409
14.03.2022, 00:00
dtd1337, первые две строки, понятно, можно удалить.
А вот на счет
Python
1
reverse=True
при сортировке, решайте сами. Вроде написано "ближайшее к концу алфавита", но в примере выведено наоборот.
Python
1
2
3
4
5
string = 'volume pointless array pond loss inhuman duty appointment humanity appropriate' \
        ' decency lens package curative shut guilt narrate unfamiliar grand indecent narrative' \
        ' avoid glove unfortunate fail upside party'
words = string.split()
print(max(sorted(words, reverse=True), key=lambda word: word.count('a')))
1
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
14.03.2022, 05:01
dtd1337, вместо sorted - max
1
1 / 1 / 0
Регистрация: 27.02.2022
Сообщений: 11
14.03.2022, 08:45  [ТС]
avdivo, если ты имеешь ввиду второй пример, там должно выводить "appropriate" потому-что символов больше.

Добавлено через 36 минут
Цитата Сообщение от idealist Посмотреть сообщение
Python
1
2
3
words = [ 'abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 'zaa', 'aa', 'aaa', 'aaab', 'baaa' ]
b = max( words, key=lambda w: ( w.count('a'), len(w), w[0] ) )
print(b)
Не правильно выдает ответ, если примеры брать.
0
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
14.03.2022, 09:41
del
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
14.03.2022, 09:52
Цитата Сообщение от dtd1337 Посмотреть сообщение
Не правильно выдает ответ, если примеры брать.
А можно примеры?
0
1 / 1 / 0
Регистрация: 27.02.2022
Сообщений: 11
14.03.2022, 09:56  [ТС]
Цитата Сообщение от idealist Посмотреть сообщение
А можно примеры?
ввод:

fascinate
manual
acceleration
postgraduate

вывод:
postgraduate
#############################
ввод:
volume
pointless
array
pond
loss
inhuman
duty
appointment
humanity
appropriate
decency
lens
package
curative
shut
guilt
narrate
unfamiliar
grand
indecent
narrative
avoid
glove
unfortunate
fail
upside
party

вывод:
appropriate
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
14.03.2022, 10:08
Цитата Сообщение от dtd1337 Посмотреть сообщение
ввод:
fascinate
manual
acceleration
postgraduate
вывод:
postgraduate
#############################
ввод:
volume
pointless
array
pond
loss
inhuman
duty
appointment
humanity
appropriate
decency
lens
package
curative
shut
guilt
narrate
unfamiliar
grand
indecent
narrative
avoid
glove
unfortunate
fail
upside
party
вывод:
appropriate
Не знаю, у меня все четко работает:

Python
1
2
3
4
5
6
7
#words = [ 'fascinate', 'manual', 'acceleration', 'postgraduate' ]
words = [ 'volume', 'pointless', 'array', 'pond', 'loss', 'inhuman', 'duty', 'appointment',
        'humanity', 'appropriate', 'decency', 'lens', 'package', 'curative', 'shut',
        'guilt', 'narrate', 'unfamiliar', 'grand', 'indecent', 'narrative', 'avoid',
        'glove', 'unfortunate', 'fail', 'upside', 'party' ]
b = max( words, key=lambda w: ( w.count('a'), len(w), w[0] ) )
print(b)
Добавлено через 1 минуту
Отвечает как полагается.
1
1 / 1 / 0
Регистрация: 27.02.2022
Сообщений: 11
14.03.2022, 10:15  [ТС]
Цитата Сообщение от idealist Посмотреть сообщение
Не знаю, у меня все четко работает:

Python
1
2
3
4
5
6
7
#words = [ 'fascinate', 'manual', 'acceleration', 'postgraduate' ]
words = [ 'volume', 'pointless', 'array', 'pond', 'loss', 'inhuman', 'duty', 'appointment',
        'humanity', 'appropriate', 'decency', 'lens', 'package', 'curative', 'shut',
        'guilt', 'narrate', 'unfamiliar', 'grand', 'indecent', 'narrative', 'avoid',
        'glove', 'unfortunate', 'fail', 'upside', 'party' ]
b = max( words, key=lambda w: ( w.count('a'), len(w), w[0] ) )
print(b)
Добавлено через 1 минуту
Отвечает как полагается.
Да всё заработал, значит я с вводом перемудрил.Спасибо.
0
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
14.03.2022, 10:17
Цитата Сообщение от dtd1337 Посмотреть сообщение
Решите задачу в одну строку. Использовать max с ключом обязательно.
Ну ок...


Python
1
(lambda x: print(max(x, key=lambda y: (y.count('a'), len(y), y[0]))))(__import__('sys').stdin.read().split('\n'))
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
14.03.2022, 10:34
enx, aaab, abaa...

Добавлено через 26 секунд
Вроде без [0]
1
enx
 Аватар для enx
1190 / 766 / 277
Регистрация: 05.09.2021
Сообщений: 1,772
14.03.2022, 10:52
Gdez, я знаю, не редактировал код idealist, кроме имен.

вот так да и все, раз ТЗ требует.

Python
1
print(max(open(0).read().split('\n'), key=lambda x: (x.count('a'), len(x), x)))
2
 Аватар для VistaSV30
988 / 332 / 79
Регистрация: 10.04.2012
Сообщений: 1,242
Записей в блоге: 4
14.03.2022, 11:03
Цитата Сообщение от enx Посмотреть сообщение
(lambda x: print(max(x, key=lambda y: (y.count('a'), len(y), y[0]))))(__import__('sys').stdin.read().spli t('\n'))
Можно для начинающего вкратце объяснить как список слов попадает в функцию. Пробовал список присваивать переменным x и y получается ошибка!
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
14.03.2022, 11:20
Цитата Сообщение от Gdez Посмотреть сообщение
aaab, abaa...
Вроде без [0]
А, да здесь у меня ошибка, надо же и по остальным буквам сортировать, не только по первой!
0
enx
14.03.2022, 11:32

Не по теме:

VistaSV30, коротко и не по теме


Python
1
2
3
4
5
6
(lambda: print('Hello World'))()
(lambda x: print(x))('x = x')
(lambda x: print(x))(['x = x', 'y = y'])
(lambda x, y: print(x, y))(*['x = x', 'y = y'])
(lambda x: print(*x))(['x = x', 'y = y', 1, 2, 3, 4, 5, 6, 7, 8, 9])
(lambda x: print(*filter(lambda y: type(y) is int, (*x,))))(['x = x', 'y = y', 1, 2, 3, 4, 5, 6, 7, 8, 9])

0
 Аватар для VistaSV30
988 / 332 / 79
Регистрация: 10.04.2012
Сообщений: 1,242
Записей в блоге: 4
14.03.2022, 11:53
Еще вариант (без lambda функции)
Python
1
2
3
4
5
6
txt = [ 'volume', 'pointless', 'array', 'pond', 'loss', 'inhuman', 'duty', 'appointment',
        'humanity', 'appropriate', 'decency', 'lens', 'package', 'curative', 'shut',
        'guilt', 'narrate', 'unfamiliar', 'grand', 'indecent', 'narrative', 'avoid',
        'glove', 'unfortunate', 'fail', 'upside', 'party' ]
 
print([i for i in sorted(txt) if i.count('a')==max([i.count('a') for i in txt])][-1])
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
14.03.2022, 14:10
Контрпример:

Python
1
2
txt = [ 'abbbbbbbbbbbb', 'az', 'a' ]
print([i for i in sorted(txt) if i.count('a') == max([i.count('a') for i in txt])][-1])
0
 Аватар для VistaSV30
988 / 332 / 79
Регистрация: 10.04.2012
Сообщений: 1,242
Записей в блоге: 4
14.03.2022, 14:15
idealist, вроде всё правильно? На выходе слово 'az' - "ближайшее к концу алфавита".
0
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
14.03.2022, 14:22
Цитата Сообщение от VistaSV30 Посмотреть сообщение
вроде всё правильно? На выходе слово 'az' - "ближайшее к концу алфавита".
По условию:
Среди введенных слов найдите содержащее наибольшее количество букв a, а среди них самое длинное, если и таких несколько, то ближайшее к концу алфавита.

Оно таки у вас не самое длинное!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2022, 14:22
Помогаю со студенческими работами здесь

Даны действительные числа х, у, z Вычислить максимум (x.y) + максимум (y.z) + максимум (х z)
1. Даны действительные числа х, у, z Вычислить максимум(x.y) + максимум(y.z) + максимум(х z) 2. Если сумма трех попарно различных...

Вес ключевой фразы
Стоит ли продвигать по одному ключу несколько страниц или все бэки лить на одну страницу? Релевантны, естественно, несколько страниц. ...

Формирование ключевой строки
Добры день, Форумчане нужна помощь со строками. Допустим есть строка и ключевое слово, нужно получить вот такой результат: ...

Ключевой режим биполярного транзистора
Вот к примеру ток нагрузки Ik=0,1А напряжение мк 5В У BC847C минимальный h21=420. Ток базы Ib= 0,1/420 = 0,000238 = 0,24 мА, резюк 5...

Порядко слов в ключевой фразе
Адвордс на условные ключевые "русские валенки" и "валенки русские" дает одинаковое количество запросов в месяц. Соответственно я решил что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru