Найти - Пользователи
Полная версия: двухмерный массив/for
Начало » Центр помощи » двухмерный массив/for
1
serhii1986
[
, [code], [code]]
задания
Написать программу, generuj_tablice(), которая принимает два числа в качестве входных данных (x,y), и генерирует двухмерный массив x строк и y столбцов. Элементами этого массива являются числа, которое является произведением числа столбца и строки (i*j).
Пример:для вступления: generuj_tablice(3,5), нужен результат:
[[code], [code], [code]]
[[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8]]
Для решения нужно использовать циклы for.
def generuj_tablice(x, y):
for x in range(x):
for y in range(y+1):
print(x * y, end=' ')
generuj_tablice(3,5)
не считает, что не так?
izekia
оформите код в теги
serhii1986
Простите, но я не понял. Что сделать?
izekia
над полем в котором Вы пишете сообщение, слева от смайла, есть возможность выбрать обрамляющие теги для кода, чтобы он выглядел вот так:
 def generuj_tablice(x, y):
    for x in range(x):
py.user.next
serhii1986
Что сделать?
Напиши задание. Не видишь, что стёрлась матрица в примере? Она не просто так стёрлась, а была воспринята как тег форума.

Вот так надо
[[1, 2, 3],
[4, 5, 6]]

И для этого используются теги кода
[code][/code]
которые можно писать как в ручную, так и через картинку в окне редактирования.
scidam
“Всегда”, когда речь идет о массивах, нужно использовать numpy

 >>> import numpy as np 
>>> x, y  = np.arange(1,10), np.arange(1,6)
>>> X,Y = np.meshgrid(x,y)
>>> X*Y
array([[ 1,  2,  3,  4,  5,  6,  7,  8,  9],
       [ 2,  4,  6,  8, 10, 12, 14, 16, 18],                                                                                                                                                               
       [ 3,  6,  9, 12, 15, 18, 21, 24, 27],                                                                                                                                                               
       [ 4,  8, 12, 16, 20, 24, 28, 32, 36],                                                                                                                                                               
       [ 5, 10, 15, 20, 25, 30, 35, 40, 45]]) 
serhii1986
Спасибо
py.user.next
  
>>> def f(x, y):
...     return [[i * j for j in range(y)] for i in range(x)]
... 
>>> f(3, 5)
[[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8]]
>>>
izekia
py.user.next
это не массив
py.user.next
izekia
это не массив
Всегда используются списки для этого, потому что список является основной структурой в питоне.
Если же numpy рассматривать, он вообще в дистрибутив питона не входит и является сторонним модулем.
А array вообще редко когда нужен, только для специфичных случаев.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB