Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2022, 13:45   #1
Baka.3
Новичок
Джуниор
 
Регистрация: 04.02.2022
Сообщений: 1
По умолчанию Прошу помогите задали на дз сделать это

ДЗ - сделать Эксплозию:

Дано нечётное число N (не превышающее 21). В массиве N на N по центру стоит 0, все соседние ячейки вокруг должны быть заполнены 1, следующий круг 2, затем 3 и так далее.
Язык программирования питон
Baka.3 вне форума Ответить с цитированием
Старый 04.02.2022, 19:15   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

У меня, например, получилось так:
Код:
import numpy as np

N = 13   # размер массива
a = np.empty((N,N), dtype='int16')      # Не инициализированный массив
                                        # с элементами типа int16
m = N // 2                              # Значение элемента при заполнении
                                        # массива "внутрь"
for k in range(N // 2):                 # Координаты следующего угла
    
                                        # ******Заполнение двух строк******
    a[k, k : N - k] = m                 # Заполнение среза k-ой строки
                                        # от k-го элемента до N - k значением m
    a[N - k - 1, k : N - k] = m         # Срез для заполнения нижней строки
    
                                        # ******Заполнение двух столбцов******
    a[k + 1 : N - k - 1, k] = m         # Заполнение среза столбца
    a[k + 1: N - k - 1, N - k - 1] = m  # Заполнение среза второго столбца
    
    m -= 1                              # уменьшаем значение для заполнения элементов

a[N // 2, N // 2] = 0                   # Заполняем центральный элемент

print(a)
Но в этом коде заполнение начинается с крайних элементов и "внутрь".
Как сделать заполнение от центрального элемента во вне ...
Покумекай

ЗАМЕЧАНИЕ: Часто в видео, на курсах и в некоторых других публикациях под массивом в Python понимают списки. Это в корне неверное представление.
Это введение слушателей в заблуждение.

PS: Если под массивом вы понимаете список, то ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 04.02.2022, 21:48   #3
ffuri
Пользователь
 
Регистрация: 18.01.2022
Сообщений: 11
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
других публикациях под массивом в Python понимают списки
В питоне нет такого понятия как массивы... А вот список - это изменяемый тип данных в питон...
ffuri вне форума Ответить с цитированием
Старый 04.02.2022, 22:32   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

ffuri
Цитата:
В питоне нет такого понятия как массивы...
Но и называть список массивом - не дело.
Вообще-то есть такой модуль, как array, а ещё есть модуль numpy, которые позволяют реализовать понятие массива в Python.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать это задание SeNaTiK Помощь студентам 1 12.10.2021 17:59
Помогите сделать все это в Pascal Kazino96 Помощь студентам 5 12.04.2015 13:39