Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 22, 2009 14:54:10

Djinny32
От:
Зарегистрирован: 2009-12-15
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

как в данной матрице найти...

n=input(“введите количество строк ”)
z=input(“введите количество столбцов”)
i=0
j=0
ok2=
while i<n:
ok1=
while j<z:
e1= input('введите элемент')
ok1.append(e1)
j=j+1
ok2.append(ok1)
j=0
i=i+1
print ok2


как здесь посчитать кол-во столбцов, не содержащих ни одного нулевого элемента.



Офлайн

#2 Дек. 22, 2009 15:25:06

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

как в данной матрице найти...

Написать условие.

Офлайн

#3 Дек. 22, 2009 15:27:18

Syao
От:
Зарегистрирован: 2009-11-15
Сообщения: 43
Репутация: +  0  -
Профиль   Отправить e-mail  

как в данной матрице найти...

Проще - использовать модуль numpy для создания матриц/массивов и перебирать столбцы проверяя с помощью “0 not in <столбец>”.



Офлайн

#4 Дек. 22, 2009 15:52:51

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

как в данной матрице найти...

Вот несколько советов:

1. Оформляйте, пожалуйста, код в постах тегом ‘code’.

2. У вас заведомо известна размерность матрицы. Тут лучше использовать цикл ‘for’:

...
for i in xrange(n):
for j in xrange(z):
...
Так получится в 2 раза меньше кода и выглядит читабельнее.

3. Чтобы получить i-й столбец, используйте, например, функцию:
def get_stolb(massiv, number):
return [stroka[number] for stroka in massiv]
Тогда, как вам уже подсказал Syao, можна легко использовать конструкцию:
0 in <список> -> true/false
То есть сделать проход по столбцам:
for i in xrange(z):
if not 0 in get_stolb(ok2, i):
print 'row %s does not have 0 element.' % i
Попытайтесь сами из этого всего слепить программку.



Отредактировано (Дек. 22, 2009 16:35:12)

Офлайн

#5 Дек. 22, 2009 16:05:45

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

как в данной матрице найти...

def get_stolb(massiv, number):
return [stroka[number] for stroka in massiv]
fixed



Офлайн

#6 Дек. 22, 2009 16:16:41

Kogrom
От:
Зарегистрирован: 2009-12-03
Сообщения: 160
Репутация: +  0  -
Профиль   Отправить e-mail  

как в данной матрице найти...

Хотелось бы знать, чем отличается эта задача от первой задачи в этой теме:
http://www.python.su/forum/viewtopic.php?id=5944



Офлайн

#7 Дек. 22, 2009 16:19:01

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

как в данной матрице найти...

ну фик с ней с новой темой, зато он маленько подумал и не просит готовый ответ (:



Офлайн

#8 Дек. 22, 2009 16:33:32

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

как в данной матрице найти...

Zubchick
ну фик с ней с новой темой, зато он маленько подумал и не просит готовый ответ (:
Вот именно, 13-е чувство подсказывает, что человек хоть немного поработал над проблемой



Офлайн

#9 Дек. 22, 2009 16:34:22

Zubchick
От:
Зарегистрирован: 2009-07-08
Сообщения: 613
Репутация: +  0  -
Профиль   Отправить e-mail  

как в данной матрице найти...

regall, ты пофикси косяк у себя в посте…)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version