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

Генераторы двумерных массивов

15.02.2020, 09:42. Показов 6365. Ответов 12

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

Пример для n = 10.
Код:

Python
1
2
3
4
5
6
7
8
9
10
n,m = [int(i) for i in input().split()]
a = [["*"]*m for i in range(n)]
for i in range(n):
    for j in range(m-1,-1,-1):
        if abs(n-i-j - 1)%4 == 0:
            a[i][j]=1
        else:
            a[i][j]=0
for row in a:
    print(*row)
Ошибка:
builtins.ValueError: not enough values to unpack (expected 2, got 1)

Указывает на цикл n,m = [int(i) for i in input().split()]
Подскажите пожалуйста, что я не так сделала?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.02.2020, 09:42
Ответы с готовыми решениями:

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

Обработка двумерных массивов (матриц) на языке Python
Выполнить обработку элементов прямоугольной матрицы A, имеющей N строк и M столбцов. Найти наименьший элемент столбца матрицы A, для...

Работа с одномерным массивом содержащий несколько двумерных массивов (Питон)
Всем привет! Ребят, спасайте. У меня есть одномерный массив двумерных массивов( по-сути изначально был один двумерный, потом я его...

12
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
15.02.2020, 09:51
Python
1
n, m = map(int, input().split())
0
1 / 1 / 0
Регистрация: 03.02.2020
Сообщений: 25
15.02.2020, 11:02  [ТС]
Это вместо n,m = [int(i) for i in input().split()] надо подставить?

Добавлено через 54 минуты
eaa, Куда это нужно подставить подскажите пожалуйста?
0
1 / 1 / 0
Регистрация: 03.02.2020
Сообщений: 25
15.02.2020, 11:15  [ТС]
eaa, Все равно ошибку выдает (((
0
1 / 1 / 0
Регистрация: 03.02.2020
Сообщений: 25
15.02.2020, 11:18  [ТС]
0
1 / 1 / 0
Регистрация: 03.02.2020
Сообщений: 25
15.02.2020, 11:24  [ТС]
72 просмотра, один ответ........ Спасибо за помощь!!!
0
16 / 14 / 12
Регистрация: 02.10.2015
Сообщений: 44
15.02.2020, 13:22
Лучший ответ Сообщение было отмечено Алена_2001 как решение

Решение

Квадратный массив?
Python
1
2
3
4
5
6
7
8
9
n = int(input())
a = [[0] * n for i in range(n)]
for i in range(n):
    for j in range(n - 1, -1, -1):
        if abs(n - i - j - 1) % 4 == 0:
            a[i][j] = 1
 
for row in a:
    print(*row)
1
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,928
Записей в блоге: 5
15.02.2020, 13:36
Цитата Сообщение от Алена_2001 Посмотреть сообщение
Подскажите пожалуйста, что я не так сделала?
Из программы вы запросили два числа, а ввели одно.
1
1 / 1 / 0
Регистрация: 03.02.2020
Сообщений: 25
15.02.2020, 14:15  [ТС]
Спасибо огромное вам!
Вот я сейчас запрашиваю два числа, ввожу первое, также выдает ошибку.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
n,m = [int(i) for i in input().split()]
z= int(1) 
a = [["0"]*m for i in range(n)]
for i in range(n):
    if i%2 == 0:
        for j in range(0,m,2):
            a[i][j] = z
            z+=1
    elif i%2 == 1:
        for j in range(1,m,2):
            a[i][j] = z
            z+=1
for row in a:
    print(*row)
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38169 / 21104 / 4307
Регистрация: 12.02.2012
Сообщений: 34,693
Записей в блоге: 14
15.02.2020, 14:33
Алена_2001, если задавать данные правильно, все работает:

n=10 m=10

1 0 2 0 3 0 4 0 5 0
0 6 0 7 0 8 0 9 0 10
11 0 12 0 13 0 14 0 15 0
0 16 0 17 0 18 0 19 0 20
21 0 22 0 23 0 24 0 25 0
0 26 0 27 0 28 0 29 0 30
31 0 32 0 33 0 34 0 35 0
0 36 0 37 0 38 0 39 0 40
41 0 42 0 43 0 44 0 45 0
0 46 0 47 0 48 0 49 0 50

смотри сюда
1
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,928
Записей в блоге: 5
15.02.2020, 14:41
Цитата Сообщение от Алена_2001 Посмотреть сообщение
Вот я сейчас запрашиваю два числа, ввожу первое, также выдает ошибку.
Программа вводит вашу строку, потом разбивает ее по пробелам на подстроки и каждую подстроку переводит в число. Должно получиться два числа (можно больше).
В соответствии с этим вы не можете ввести только первое число. Вы должны ввести одно число, потом пробел, потом другое число, потом Enter.
1
1 / 1 / 0
Регистрация: 03.02.2020
Сообщений: 25
15.02.2020, 14:49  [ТС]
Спасибо, разобралась)))

Добавлено через 4 минуты
Вот что получилось )
Python
1
2
3
4
5
n = int(input())
m = int(input())
arr = [[0 if (i+j)%2 else (i*m+j)//2+1 for j in range(m)] for i in range(n)]
for i in arr:
    print(*i)
0
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,928
Записей в блоге: 5
15.02.2020, 14:53
Лучший ответ Сообщение было отмечено Алена_2001 как решение

Решение

Тоже вариант.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.02.2020, 14:53
Помогаю со студенческими работами здесь

Обработка двумерных массивов
Задание к работе 1. Обработать на ЭВМ матрицу в соответствии с вариантом за дания, указанного в табл. 4. Вывести на печать результаты...

Переписывание двумерных массивов
Здравствуйте, стоит следующая задача, есть два двумерных массива (их размерность мы знаем заранее) один с данными другой пустой. Нужно из...

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

Разработать приложение по обработке двумерных числовых списков (массивов)
Здравствуйте. Помогите, пожалуйста, с решением данной задачи. Условие задачи: Разработать приложение по обработке двумерных...

Какие есть виды массивов (кроме одномерных, двумерных и двумерных ступенчатых массивов)?
Какие есть виды массивов (кроме одномерных, двумерных и двумерных ступенчатых массивов)? И почему такая вот запись является...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru