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

Обратить в ноль элементы списка между экстремальными значениями

06.04.2017, 18:15. Показов 1529. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Прошу помощи с решением вопроса.
Чуть не забыл. Работаю с пайтоном 3.6 под win.

1.
Пользователем вводиться размер списка. Рандомом определяются числа содержащиеся в списке. Надо обратить в ноль элементы списка между экстремальными значениями. Потом нули надо удалить.
Пока получилось только так.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import random
set = []
n = int(input('Введите размер ряда:'))
for i in range(n):  
    set.append(random.randint(-50,50)) # добавляю 
    print('%4d'%(set[i]),end='')
print()
 
max = -100
min = 100
for j in range(0, n):
    if set[j] > max:
        max = set[j]
        Nmax = j
    if set[j] < min:
        min = set[j]
        Nmin = j
for j in range(0, n):
    if (j-Nmin)*(j-Nmax) < 0:
        set[j] = 0
    if j == 0:
        del 0;
print(set)
input('Press ENTER to EXIT')
exit()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.04.2017, 18:15
Ответы с готовыми решениями:

Отсортировать элементы списка расположенные между двумя указанными значениями
Как отсортировать список между двух чисел? допустим есть список нужно отсортировать числа между 2 и 8

Удалить все элементы списка, находящиеся между первым минимальным и последним максимальным значениями
Дан список из n целых чисел a1,a2,...,an.Удалить все элементы списка, находящиеся между первым из всех минимальных и последним из всех...

Исключить из связанного списка все элементы между двумя элементами с заданными значениями информационных полей
Помогите пожалуйста!!!! Исключить из связанного списка все элементы между двумя элементами с заданными значениями информационных полей.

10
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
06.04.2017, 19:26
Цитата Сообщение от inzaim Посмотреть сообщение
set = []
плохое имя для переменной, это название встроенной структуры данных
Цитата Сообщение от inzaim Посмотреть сообщение
max = -100
min = 100
плохие названия для переменных, это названия встроенных методов.

непонятно, что нужно делать есть есть два одинаковых экстремальных элемента, например
[0,1,2,5,3,4,5]
0
9 / 9 / 0
Регистрация: 14.10.2014
Сообщений: 69
06.04.2017, 19:37  [ТС]
Причешем:
spisok = []
maximus = -100
mininimus = 100
Насчет двух одинаковых экстремальных элементов. Нулить и удалять элементы нужно только между минимальным и максимальным. Ваш вопрос я понял. Что делать если за максимальным идет еще один максимальный. Суть в том, что работаем между двумя экстремальными.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
06.04.2017, 19:41
Цитата Сообщение от inzaim Посмотреть сообщение
Суть в том, что работаем между двумя экстремальными.
ну так если экстремальные значения (в моем примере) - 0 и 5, то между нулем и какой из пятерок нас интересуют элементы?
0
9 / 9 / 0
Регистрация: 14.10.2014
Сообщений: 69
06.04.2017, 19:55  [ТС]
Вы все верно поняли. Числа 1 и 2 должны обратиться в ноль, а нули из списка убраны. Затем идет вывод результат на экран.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
06.04.2017, 19:56
Вы не ответили на мой вопрос.
[0,1,2,5,3,4,5]
точно нужно работать с первой пятеркой как с максимальным значением?
0
9 / 9 / 0
Регистрация: 14.10.2014
Сообщений: 69
06.04.2017, 19:59  [ТС]
Чуть выше ответил.
Да, программа должна работать с первой пятеркой.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
06.04.2017, 20:20
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import random
 
lst = []
n = int(input('Введите размер списка:'))
for i in range(n):
    lst.append(random.randint(-50, 50))
 
print('original', lst)
 
mn, mx = sorted([lst.index(min(lst)), lst.index(max(lst))])
 
for x in range(mn+1, mx):
    lst[x] = 0
 
print('nulled  ', lst)
print('cleaned ', [x for x in lst if x])
1
9 / 9 / 0
Регистрация: 14.10.2014
Сообщений: 69
06.04.2017, 20:49  [ТС]
Спасибо)))
Если можно, поясните вот этот момент [x for x in lst if x].
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
06.04.2017, 20:52
list comprehension перебирает элементы lst и записывает их если...

if x --> если x - True, то есть если x не равно ноль. (аналогичный результат если написать if x != 0)
1
9 / 9 / 0
Регистрация: 14.10.2014
Сообщений: 69
06.04.2017, 20:56  [ТС]
Да, теперь понятно. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.04.2017, 20:56
Помогаю со студенческими работами здесь

Удалить из списка все элементы с нечётными значениями и вывести указатель p2 на начало преобразованного списка.
Здравствуйте. Не получается решить задачу. Условие. Дан непустой двусвязный список. Удалить из списка все элементы с нечётными ...

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

Удалить из списка все элементы с нечетными значениями и вывести указатель на первый элемент преобразованного списка
Дан указатель P1 на первый элемент непустого двусвязного списка. Удалить из списка все элементы с нечетными значениями и вывести ...

Переставить элементы списка так, чтобы сначала следовали элементы с простыми значениями затем чётными
Дан двунаправленный список целых чисел. Переставить элементы списка так, чтобы сначала следовали элементы с простыми значениями. затем...

Заменить элементы массива между максимальным и минимальным на ноль
Помогите разобраться с проблемой. Не могу найти ошибку ни в коде ни в алгоритме решения задачи. Задание: заменить элементы которые...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
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. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru