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

Создание массива через процедуру

14.03.2014, 19:27. Показов 1565. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется такая процедура. Она должны создавать два двумерных массива. Но что-то пошло не так. Пожалуйста, подскажите, что именно.
Python
1
2
3
4
5
6
7
def array():
    a = list(range(m**(z)))
    for i in range(m**(z)):
        a[i] = list(range(z+1))
    b = list(range(m**(z+1)))
    for i in range(m**(z+1)):
        b[i] = list(range(z+2))
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.03.2014, 19:27
Ответы с готовыми решениями:

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

создание,вывод,нахождение минимального,замена,через процедуру. HELP Х_Х
Создать матрицы А и В. Определить минимальное в матрице А и минимальное в матрице В. Заменить минимальные значения на минимальное...

Формирование массива через процедуру
Даны натуральные числа K и N. Составить программу с использованием процедуры формирования массива А, элементами которого являются числа,...

7
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
14.03.2014, 19:54
1. Не процедура, а функция.
2. Откуда взялись у тебя переменные z и m, ты их не передавал в фукнцию.
3. z в скобки можно не брать, это просто не нужно
Кроме этого, проблем не вижу ни каких. В чем у вас затруднения конкретно?
1
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 5
14.03.2014, 20:06  [ТС]
tsar925,
z и m запрашиваются с клавиатуры в начале программы. После этого вызывается функция. Но массивы не создаются.
Или нужно как-то особым образом передавать переменные в функцию?

Добавлено через 7 минут
И еще вопрос по этой же теме. Что будет, если я снова запущу эту процедуру, после заполнения созданных массивов данными?
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
14.03.2014, 20:10
Лучший ответ Сообщение было отмечено TheGarik как решение

Решение

Они создаются, просто после тогда как функция отрабатывает они удаляются сборщиком мусора, тебе нужно сделать, чтобы функция вернула значения. Это делается оператором return.

Добавлено через 1 минуту
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
z = 5
m = 2
 
def array(m, z):
    a = list(range(m**(z)))
    for i in range(m**(z)):
        a[i] = list(range(z+1))
    b = list(range(m**(z+1)))
    for i in range(m**(z+1)):
        b[i] = list(range(z+2))
    return a, b
 
arr1, arr2 = array(m, z)
print(arr1)
print(arr2)
Добавлено через 1 минуту
P.S Лучше всегда явно передавать в функцию значения, а не запрашивать их из глобальной области видимости.
Явное всегда лучше не явного.
1
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 5
14.03.2014, 20:10  [ТС]
tsar925, благодарю. Теперь все стало ясно.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
14.03.2014, 20:19
Цитата Сообщение от TheGarik Посмотреть сообщение
Что будет, если я снова запущу эту процедуру, после заполнения созданных массивов данными?
Ну опять создастся 2 массива, которые будут возвращены и присвоены некоторым определённым тобой переменным.
1
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 5
14.03.2014, 20:22  [ТС]
tsar925, отлично. Еще раз благодарю за отзывчивость.
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
14.03.2014, 20:24
Рад, что смог помочь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2014, 20:24
Помогаю со студенческими работами здесь

Ввод массива через процедуру
Почему нули выдаёт... uses crt; const n=2; m=3; type amas=array of integer; bmas=array of integer;

Заполнение массива через процедуру
Необходимо заполнить двумерный массив и вывести значения его ячеек, но на выводе получаю совершенно непонятные значения. program...

Преобразование массива через процедуру
Дан массив размера . Описать процедуру позволяющую обнулить эле-менты массива, расположенные между его минимальным и максимальным...

Передача массива в процедуру через функцию
Необходимо чтобы пользователь вводил размер массива в нижепреведенном коде. Ошибку выбивает на процедурах: /* initialize the data */ ...

Нужно вынести создание массива в отдельную функцию или процедуру
program qwerty ; procedure qw (a,b: integer; var k: integer); var i: integer; arr: array of integer; begin k:= 0; ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
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 и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru