Создание матрицы в Python 3 без нуля с использованием входных данных - PullRequest
0 голосов
/ 06 сентября 2018

Я хочу иметь два ввода: a, b или x, y, что угодно ... Когда пользовательский ввод говорит,

3 5

Тогда оболочка должна напечатать матрицу с 3 строками и 5 столбцами.она должна заполнять матрицу натуральными числами (числовая последовательность начинается с 1, а не с 0).Пример ::

IN: 2 2

OUT: [1,2] [3,4]

Ответы [ 3 ]

0 голосов
/ 06 сентября 2018

Если ваша цель только получить выходные данные в этом формате

n,m=map(int,input().split())
count=0
for _ in range(0,n):
    list=[]
    while len(list) > 0 : list.pop()
    for i in range(count,count+m):
        list.append(i)
        count+=1
    print(list)
0 голосов
/ 06 сентября 2018

Я собираюсь попробовать без использования библиотеки numpy.

row= int(input("Enter number of rows"))
col= int(input("Enter number of columns"))
count= 1
final_matrix= []
for i in range(row):
    sub_matrix= []
    for j in range(col):
        sub_matrix.append(count)
        count += 1
    final_matrix.append(sub_matrix)
0 голосов
/ 06 сентября 2018

Библиотека Numpy предоставляет функцию reshape (), которая делает именно то, что вы ищете.

from numpy import * #import numpy, you can install it with pip
    n = int(input("Enter number of rows: ")) #Ask for your input, edit this as desired.
    m = int(input("Enter number of columns: "))
    x = range(1, n*m+1) #You want the range to start from 1, so you pass that as first argument.
    x = reshape(x,(n,m)) #call reshape function from numpy
    print(x) #finally show it on screen

EDIT

Если вы не хотите использовать numpy, как указывалось в комментариях, вот еще один способ решить проблему без каких-либо библиотек.

n = int(input("Enter number of rows: ")) #Ask for your input, edit this as desired.
m = int(input("Enter number of columns: "))
x = 1 #You want the range to start from 1
list_of_lists = [] #create a lists to store your columns
for row in range(n):
    inner_list = []   #create the column
    for col in range(m):
        inner_list.append(x) #add the x element and increase its value
        x=x+1
    list_of_lists.append(inner_list) #add it

for internalList in list_of_lists: #this is just formatting.
    print(str(internalList)+"\n")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...