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

Разделить массив на несколько подмассивов

05.06.2020, 14:31. Показов 7278. Ответов 4

Студворк — интернет-сервис помощи студентам
я попал на интересную задачу которую и пытаюсь решить, она должна разрезать 1 массив на несколько подмассивов по интересному принципу, я почти доделал ее, но для окончательного решения нужно создать код который автоматически будет вносить числа в вложенный массив, а все коды на которые я натыкаюсь не подходят для этой задачи (т.к. в большинстве они завязаны на том что в заранее известна точная длина массивов). ниже я приведу весь код с объяснением шагов (п.с. надеюсь никого не запутал))
Python
1
2
3
4
5
6
7
8
9
10
def Cut(tubl,a):# tubl это вносимый массив
    c = 1
    cut = []
    for i in range(3,a+1,2): # этот цикл должен определять сколько всего будет вложенных массивов и передает данные которые помогут определить b
        b=i*i # определяет на какой цифре закончится определенный вложенный массив, соответственно c наоборот
        for j in range(c+1,b+1):
            # здесь и должен находиться код который будет вкладывать J в вложенный массив массива cut
        c = b
    print(cut)
Cut([2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],5)
на выходе должно получиться что-то на вроде этого:
cut = [[2,3,4,5,6,7,8,9],[10,11,12,13,14,15,16,17,18,19,20,21,22,2 3,24,25]]
я знаю что возможно объяснил не все или объяснил, но непонятно, поэтому задавайте вопросы если что.
в заранее спасибо!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.06.2020, 14:31
Ответы с готовыми решениями:

Как разделить массив на несколько?
Задание. Разделение массива на несколько Дан массив i состоящий из n чисел типа int (случайное равномерное заполнение выполняется...

Разделить массив на несколько массивов по 10 элементов и остаток
Доброго времени суток, Появилась простая задачка(на первый взгляд), которую решил, но со скрипом... Буду очень благодарен, если кто-то...

Как разделить одномерный массив на несколько массивов, если разделителем является какое-либо число из массива?
Есть, допустим, такой массив: . Нужно разделить его на несколько массивов, где 0 является разделителем. Получится должно так: .

4
Модератор
Эксперт Python
 Аватар для Fudthhh
2696 / 1602 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
05.06.2020, 14:43
_Даниил_, может ты расскажешь про свой интересный принцип разбиения массива?
0
3 / 3 / 0
Регистрация: 21.12.2019
Сообщений: 47
05.06.2020, 14:56  [ТС]
он завязывается на том что существует спираль допустим как показано ниже:
21 22 23 24 25
20 7 8 9 10
19 6 1 2 11
18 5 4 3 12
17 16 15 14 13
мой код отделяет а точнее будет отделять эти спирали друг от друга так 2, 3, 4, 5, 6, 7, 8, 9 от 10, 11, 12, 13, 14,15,16, 17, 18, 19, 20, 21, 22, 23, 24, 25 и помещать их в отдельные под массивы (единственное что исключается 1)
0
Эксперт Python
 Аватар для unfindable_404
693 / 471 / 204
Регистрация: 22.03.2020
Сообщений: 1,051
05.06.2020, 15:13
Лучший ответ Сообщение было отмечено _Даниил_ как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def Cut(tubl, a):  # tubl это вносимый массив
    c = 1
    cut = []
    # Этот цикл должен определять сколько всего будет вложенных массивов
    # и передает данные которые помогут определить b
    for i in range(3, a + 1, 2):
        # определяет на какой цифре закончится определенный вложенный массив,
        # соответственно c наоборот
        b = i * i
        tmp = []  # Создание пустого списка
        for j in range(c + 1, b + 1):
            # здесь и должен находиться код который будет вкладывать J
            # в вложенный массив массива cut
            tmp.append(j)  # Добавление элемента в пустой список
        cut.append(tmp)  # Добавление списка в список cut
        c = b
    print(cut)
 
 
Cut([2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
     20, 21, 22, 23, 24, 25], 5)
1
3 / 3 / 0
Регистрация: 21.12.2019
Сообщений: 47
05.06.2020, 15:20  [ТС]
Не мог подумать что все окажется настолько просто, благодарю )))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.06.2020, 15:20
Помогаю со студенческими работами здесь

Разделить файл на несколько
Признак начала письма -- строка, начинающаяся на слово From , сразу за которым следует 1 пробел, сразу за которым следует e-mail...

Разделить картинку на несколько
народ, как разделить чёрно белую картинку с цифрами на несколько timage или tpicture и чтоб на каждой появилась цифра

Разделить таблицу на несколько
Здравствуйте, уважаемые форумчане. Помогите, пожалуйста, разделить таблицу на несколько таблиц. Операции (№ оперируемого; ФИО пациента;...

Разделить поле на несколько
Всем доброго дня! Пытаюсь создать БД, типа справочника телефонов. Нашел в - Excel для нашего города и района, но он в таком непотребном...

Разделить проект на несколько библиотек
Есть проект эмуляция работы бд. Пытаюсь функции main.cpp вынести на menu.h и menu.cpp В menu.h записываю все определения #ifndef...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru