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

1-й, 2-й и 3-й максимум последовательности

04.10.2019, 10:45. Показов 6511. Ответов 22

Студворк — интернет-сервис помощи студентам
1, 2 и 3-й максимумы последовательности

Прочитать последовательность.

получить на выводе список, где вначале - три самых больших числа, упорядоченные по убыванию, затем - все остальное в исходном порядке. предполагается, что есть хотя бы 5 элементов


знаю, как вводить последовательность

k = []
while True:
n = input()
if n == '.':
break
else:
k.append(int(n))

разобрались с max, тут, вроде, должно быть что-то такое, но не понимаю, мб можно сделать как-то более рационально, но пока проходим циклы, списки в общем в виде и индексирование

k = []
while True:
n = input()
if n == '.':
break
else:
k.append(int(n))

max1 = max(k)

for i in range (1, len(k)):
if k[i] < max1 and k[i] > (как бы сравнить с совокупностью остальных членов):
max2 = k[1]
elif k[i] < max2 k [i]>:
max3 = k[2]

k.remove(max1, max2, max3)
k.insert(0, max1)
k.insert(1, max2)
k.insert(2, max3)

print(k)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.10.2019, 10:45
Ответы с готовыми решениями:

Максимум последовательности
Помогите решить задачу используя только условия и циклы. Последовательность состоит из натуральных чисел и завершается числом 0....

Максимум последовательности
Прочитайте последовательность чисел типа int (целые). Выведите на экраен новый список, где на первом месте будет стоять максимум...

Максимум последовательности
Я не могу понять, почему переменная max = 0 сравнивается со всеми x. Объсните, пожалуйста. #include &lt;iostream&gt; using namespace...

22
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
04.10.2019, 10:57
Python
1
2
3
4
5
6
7
8
9
10
lst = [2, 8, 4, 9, 0]
 
tmp = []
for v in range(3):
    mx = max(lst)
    lst.remove(mx)
    tmp.append(mx)
tmp.extend(lst)
 
print(*tmp)
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
04.10.2019, 11:01
Я вот не понимаю, наверное, чего-та. Но ёханый бабай, буквально постом ниже решили твою задачу. Ты опять туда же. Подумать не пробовал, хотя - бы для себя?! Добавить цикл и пустой список это так сложно?

Добавлено через 47 секунд
Сейчас ты создашь новую тему и спросишь, как 5 максимальных найти?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,693
Записей в блоге: 29
04.10.2019, 11:09
Python
1
2
3
4
5
6
7
>>> lst = [2, 8, 4, 9, 0]
>>> start =sorted(lst, reverse=True)[:3]
>>> for i in start:
...         lst.remove(i)
...
>>> print(*start+lst)
9 8 4 2 0
0
0 / 0 / 0
Регистрация: 04.10.2019
Сообщений: 7
04.10.2019, 11:12  [ТС]
Damenikx, путаюсь в циклах, понимаю, что надо сравнить с максимум, но как это число сравнить и со всеми остальными? сделал пометку в предполагаемом решении.
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
04.10.2019, 11:17
endless_student, так был в прошлой теме один максимальный. Вам задание поменяли или вы изначально хотели для 3-х?
0
0 / 0 / 0
Регистрация: 04.10.2019
Сообщений: 7
04.10.2019, 11:22  [ТС]
Damenikx, два разных задания, но, думал, разобравшись с одним, другое как по маслу выйдет, сейчас не знаю просто как это выразить словами, вот это жизнь просто)))зачем делать пустой список, если мы можем менять элементы внутри исходника, нужно найти макс, потом меньше макс и больше остальных, и по аналогии с 3 элементом, а потом их просто заменить, разве нет?
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
04.10.2019, 11:32
endless_student, посмотрите, как изящно сделал Welemir1, он просто отсортировал от большего к меньшему и теперь в списке первых 3 элемента и есть максимальные, просто взять срез из получившегося списка и вот, ваше проблема решена 5-ю строками.
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
04.10.2019, 11:33
endless_student, может быть. Но зачем усложнять, если можно сделать проще?
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
04.10.2019, 11:36
endless_student, тут просто главное понять вот что. Создатели языка уже всё придумали, нам (пользователем) осталось только понять, как это использовать. Зачем использовать цикл и сортировать список руками, когда есть sorted (это как пример). Вы же не будете придумывать работу с веб-приложениями с нуля. Вы воспользуетесь Flask, Jinja2, Pandas и т.д. Нет смысла изобретать велосипед, есть смысл его улучшить.
0
0 / 0 / 0
Регистрация: 04.10.2019
Сообщений: 7
04.10.2019, 11:38  [ТС]
Damenikx, я понял это, просто попросили именно через циклы, чтобы закрепить тему))))
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
04.10.2019, 11:40
endless_student, я тоже начинающий "питоногон", но я пытаюсь подумать, прежде, чем решить. Да у меня больше половины (если не все) решения, которые я предлагал, мягко сказать, говнокод, но они работают. Пусть не совсем правльно написано, пусть не по канону, пусть программа выполняется дольше, чем программа написаная на "правильном" коде, ничего страшного, но я подумал и решил, а вот когда получилось - каааайф. Попробуйте - не пожалеете.
0
0 / 0 / 0
Регистрация: 04.10.2019
Сообщений: 7
04.10.2019, 11:42  [ТС]
Damenikx, и это прекрасно понимаю, но я вбросил то, что пытался сделать сам, просто уже довольно долго не могу додумать момент определенный)) я с таким чувством 60 других заданий решил)
0
04.10.2019, 11:49

Не по теме:

Цитата Сообщение от Damenikx Посмотреть сообщение
посмотрите, как изящно сделал Welemir1
растрогал старика...)))

0
04.10.2019, 11:53

Не по теме:

Welemir1, я старался :)

0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,724
Записей в блоге: 14
04.10.2019, 12:35
Ручками и за один проход исходного списка:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def max3(x):
    tmp=[]
    for a in x:
        if tmp==[]:
            tmp=[a]
        else:
            tmq=[]
            for i in range(len(tmp)):
                if a > tmp[i]:
                    tmq=tmq+[a]+tmp[i:]
                else:
                    tmq=tmq+[tmp[i]]
            tmp=tmq[0:3]
    return tmp
    
print(max3([1,2,3,5,12,4,5,-7,22]))

http://ideone.com/bMJmXG
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
04.10.2019, 12:45
Catstail, ТС немного другой результат ожидает.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,724
Записей в блоге: 14
04.10.2019, 13:28
А какой может быть результат? Три максимума.
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
04.10.2019, 13:38
Catstail,
Цитата Сообщение от endless_student Посмотреть сообщение
получить на выводе список, где вначале - три самых больших числа, упорядоченные по убыванию, затем - все остальное в исходном порядке.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,724
Записей в блоге: 14
04.10.2019, 14:13
ioprst, а, согласен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.10.2019, 14:13
Помогаю со студенческими работами здесь

Максимум последовательности
По ошибке

Максимум последовательности
Последовательность состоит из натуральных чисел и завершается числом 0. Определите значение наибольшего элемента последовательности. ...

Максимум последовательности
Помогите пожалуйста Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0. Определите наибольшее...

Рекурсия, максимум последовательности
Дана последовательность натуральных чисел (одно число в строке), завершающаяся числом 0. Определите наибольшее значение числа в этой...

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru