Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 5.00
Djinny32
0 / 0 / 0
Регистрация: 15.12.2009
Сообщений: 4
#1

матрица - Python

16.12.2009, 16:21. Просмотров 4625. Ответов 3
Метки нет (Все метки)


http://www.cyberforum.ru/python/thread1902737.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2009, 16:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос матрица (Python):

Матрица
как создать в Pythone матрицу 2x4 ?

Матрица
Какая структура используется для хранения матрицы? Или используется простой...

Матрица
В матрице сформировать массив, состоящий из номеров строк, в которых сумма...

Матрица поворота
Привет всем, ребят помогите написать программу которая поворачивает матрицу на...

Матрица в Питоне
Здравствуйте! Помогите с задачей!!! В матрице 7х8, заполненной случ. числами,...

3
qstorm
10 / 10 / 3
Регистрация: 11.11.2009
Сообщений: 18
17.12.2009, 01:25 #2
вот этот код вроде работает как нужно
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# -*- coding: utf-8 -*-
 
##матрица
matrix = [[1,7,1,0,6,4],
          [4,5,1,5,6,4],
          [1,1,1,1,1,1],
          [1,7,6,6,1,4],
          [1,7,6,5,6,4],
          [1,7,6,5,6,4]]
 
i=0
j=0
kolvo_stolbzovravnih0 = 0
## конец массива
end = len(matrix)
## перебираем весь массив
while(j!=end):
    ## есди пересмотрели весь столбец, начинаем новый
    if(i==end):
        j=j+1
        i=0
    ## если просмотрели всю матрицу то выходим из цикла
    if(j==end):
        break
    ## нашли 0 увеличиваем кол-во найденых столбцов с нулем, на 1
    if(matrix[i][j]==0):
        i=0
        j=j+1
        kolvo_stolbzovravnih0=kolvo_stolbzovravnih0+1
        continue
    i=i+1
## выводим ответ
print u'Количество столбцов которые не содержат 0 =',len(matrix)-kolvo_stolbzovravnih0
спать уже хочется, так что за качество кода не отвечаю, ночь уже как бэ.
p.s. я python еще не очень хорошо знаю, так что не судите строго. тут 100% как то можно сделать по питоновски изящно в ~10 строк.
1
Djinny32
0 / 0 / 0
Регистрация: 15.12.2009
Сообщений: 4
17.12.2009, 15:49  [ТС] #3
а как будет,если матрица не дана, а создать в ходе программы, вводя размерность матрицы, а значения случайны
0
qstorm
10 / 10 / 3
Регистрация: 11.11.2009
Сообщений: 18
17.12.2009, 17:46 #4
Полагаю, что вот так:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# -*- coding: utf-8 -*-
 
n = raw_input("Input size: ")
 
 
x,y = 0,0
## вспомогательная и главная матрица
tmpm = []
matrix = []
 
while x < int(n):
    y=0
    while y < int(n):
        ## подсказка для ввода
        info_to_app = str(x)+","+str(y)
        ## добавляем в вспомогательную матрицу, введенное с клавиатуры число
        tmpm.append(int(raw_input(info_to_app)))
        y=y+1
    ## добавляем в главную матрицу вспомогательную матрицу и очищаем вспомогательную матрицу
    matrix.append(tmpm)
    tmpm=[]
    x = x+1
 
 
##отображаем полученную матрицу
for i in  matrix:
    print i
 
##матрица
##matrix = [[1,3,1,4,0,7],
##          [4,5,1,5,6,4],
##          [1,3,1,0,1,3],
##          [1,7,6,4,1,4],
##          [1,7,6,5,6,4],
##          [1,7,6,4,6,4]]
 
kolvo_stolbzovravnih0 = 0
## хранение номеров столбцов где есть ноль
tmp=[]
 
i=0
 
while i < len(matrix):
    j=0
    while j < len(matrix[i]):
        if(matrix[i][j]==0):
            ## если такого номера столбца нет, то добавляем его
            if(tmp.count(matrix[i].index(matrix[i][j]))==0):
                ## добавляем номер столбца с 0
                tmp.append(matrix[i].index(matrix[i][j]))
            ## убирается 0, что бы не мешал с этом же ряду
            matrix[i][j] = -1
        j=j+1
    i=i+1
 
 
 
print "-"*10
print len(matrix) - len(tmp)
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2009, 17:46
Привет! Вот еще темы с решениями:

Матрица 10х10
В текстовом документе первые две строки это коэффициенты, нужные в дальнейшем....

Единичная матрица
Подскажите пожалуйста как сделать единичную матрицу, то есть когда главная...

Квадратная матрица. Операции
В файле записана квадратная матрица размром mxm .Найти суммы элементов столбцов...

Умножение разреженная матрица
У меня проблема в модуле в котором производится функцией dot умножение матрицы...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru