|
9 / 5 / 5
Регистрация: 08.04.2020
Сообщений: 93
|
|
Проблемы с работой со списками python10.04.2020, 20:14. Показов 3781. Ответов 37
Пишу вот такой код:
s=input() s=s.split() mi=int(s[1]) ma=int(s[1]) for i in range(1, len(s)): if int(s[i])>int(ma): ma=s[i] if int(s[i])<int(mi): mi=int(s[i]) pma=s.index(ma, [s[1] [len(s)]]) pmi=s.index(mi, [s[1] [len(s)]]) s.insert(pma, mi) s.insert(pmi, ma) для решения этой задачи: Поменять местами самый большой и самый маленький элементы списка. Код в целом работает топорно, выдаёт эту ошибку в разных вариациях: string index out of range. Где может быть ошибка? Я как-то неверно обращаюсь к элементу списка?
0
|
|
| 10.04.2020, 20:14 | |
|
Ответы с готовыми решениями:
37
|
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|
| 10.04.2020, 20:19 | |
|
расставьте тэги кода, пожалуйста.
Добавлено через 1 минуту предполагаются, что элементы списка не повторяются?
0
|
|
|
9 / 5 / 5
Регистрация: 08.04.2020
Сообщений: 93
|
|
| 10.04.2020, 20:28 [ТС] | |
|
s=input() #ввод строки
s=s.split() #превращение строки в список mi=int(s[1]) #условно считаю наименьшим значением значение, стоящее на первом месте ma=int(s[1]) #условно считаю наибольшим значением значение, стоящее на первом месте for i in range(1, len(s)): #цикл с первого элемента списка до последнего if int(s[i])>int(ma): #проверяем, больше ли элемент с этим номером наибольшего ma=s[i] #обновляем значение наибольшего числа if int(s[i])<int(mi): #проверяем, меньше ли элемент с этим номером наименьшего mi=int(s[i]) #обновляем значение наименьшего числа pma=s.index(ma, [s[1] [len(s)]]) #ищем позицию вхождения наибольшего числа, по-другому искать не умею, предполагается, что такое число одно pmi=s.index(mi, [s[1] [len(s)]]) #ищем позицию вхождения наименьшего числа, предполагается, что таковое тоже одно s.insert(pma, mi) #присваиваю наибольшему числу значение наименьшего s.insert(pmi, ma) #прошлый тег, только наоборот
0
|
|
|
8 / 6 / 2
Регистрация: 09.04.2020
Сообщений: 31
|
|
| 10.04.2020, 20:31 | |
|
Anacoder, провернте на сайте такое действие:
пишите PYTHON в квадратных скобках, вставляете код, пишите /PYTHON в квадратных скобках. Это вас просили сделать, а не расставить комментарии. Или же можно выделить код и на панели нажать на кнопку PYTHON И не стоит забывать, что первый элемент списка имеет индекс 0.
1
|
|
|
9 / 5 / 5
Регистрация: 08.04.2020
Сообщений: 93
|
||||||
| 10.04.2020, 20:33 [ТС] | ||||||
|
Благодарю, что разъяснили, сейчас сделаю
Добавлено через 50 секунд
0
|
||||||
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
||||||
| 10.04.2020, 20:35 | ||||||
1
|
||||||
|
8 / 6 / 2
Регистрация: 09.04.2020
Сообщений: 31
|
|
| 10.04.2020, 20:37 | |
|
0
|
|
|
9 / 5 / 5
Регистрация: 08.04.2020
Сообщений: 93
|
|
| 10.04.2020, 20:41 [ТС] | |
|
Благодарю Вас, Jabbson, ваше решение, несомненно, эргономичнее и питоничнее моего. Но всё же, можете, пожалуйста, указать на мою ошибку? Мне задачу не сдавать, для себя пишу, поэтому интересно было бы узнать, где это я ссылаюсь на элемент вне списка
0
|
|
|
5222 / 3469 / 1173
Регистрация: 21.03.2016
Сообщений: 8,295
|
||||||
| 10.04.2020, 20:44 | ||||||
Сообщение было отмечено Anacoder как решение
Решение
Anacoder,
допустим у нас список [123,56,77,89] значить s[1] = 123. а теперь информация list.index(x, [start [, end]]) Возвращает положение первого элемента со значением x (при этом поиск ведется от start до end) откуда в списке с длиной 4 элемента будет индекс 123? вот ваша ошибка в этих строках
1
|
||||||
|
9 / 5 / 5
Регистрация: 08.04.2020
Сообщений: 93
|
|
| 10.04.2020, 20:44 [ТС] | |
|
Подправил, спасибо за замечание
0
|
|
|
9 / 5 / 5
Регистрация: 08.04.2020
Сообщений: 93
|
||||||
| 10.04.2020, 20:53 [ТС] | ||||||
|
Semen-Semenich, благодарствую. Не подскажите, а как тогда нужно написать, чтобы индекс искался с начала списка и до его конца? А то когда я пишу
0
|
||||||
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|
| 10.04.2020, 20:54 | |
Сообщение было отмечено Anacoder как решение
Решение
1
|
|
|
9 / 5 / 5
Регистрация: 08.04.2020
Сообщений: 93
|
|
| 10.04.2020, 20:57 [ТС] | |
|
Jabbson, да, я понял Ваш метод, но он ищет индекс наибольшего число. А можно ли как-то искать индекс конкретного числа в списке?
0
|
|
|
291 / 131 / 58
Регистрация: 24.11.2019
Сообщений: 532
|
||||||
| 10.04.2020, 21:02 | ||||||
|
Я думаю следует видоизменить код для большей универсальности:
1
|
||||||
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
|||
| 10.04.2020, 21:05 | |||
Сообщение было отмечено Anacoder как решение
Решениеlst.index(3) найдет индекс конкретного числа 3 Добавлено через 55 секунд
0
|
|||
|
9 / 5 / 5
Регистрация: 08.04.2020
Сообщений: 93
|
|
| 10.04.2020, 21:06 [ТС] | |
|
Всем спасибо, код заработал
0
|
|
|
291 / 131 / 58
Регистрация: 24.11.2019
Сообщений: 532
|
|
| 10.04.2020, 21:08 | |
|
Это для ввода без пробелов
0
|
|
|
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
|
||
| 10.04.2020, 21:11 | ||
|
0
|
||
|
9 / 5 / 5
Регистрация: 08.04.2020
Сообщений: 93
|
|
| 10.04.2020, 21:13 [ТС] | |
|
Ещё один вопрос, а как конкретному элементу по индексу присвоить значение конкретного числа, переменной или элемента? Всё, если это list.insert, я разобрался
0
|
|
|
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
|
||||||||||||
| 10.04.2020, 21:13 | ||||||||||||
0
|
||||||||||||
| 10.04.2020, 21:13 | |
|
Помогаю со студенческими работами здесь
20
Проблемы с работой по Python. Memory error
Проблемы с работой системы Проблемы с подключением и работой с БД Проблемы с работой ТП 7.0 на Windows 7 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|