nicra
Янв. 4, 2010 17:57:16
Народ,очень прошу помочь с таким вот заданьицем. Есть матрица размерностью n*m рандомно заполненная 0/1.
Как сделать так,чтобы выводить эту матрицу каждый последующий раз с “минус одной строкой сверху”, до тех пор,пока n не станет равно 3. Т.е. получиться должно 8 матриц: 1-я - 10*20 ……. 8-я - 3*20.
Пожалуйста подскажите кто может,заранее благодарен
import random
import sys
n = 10
m = 20
matr = [ * m for i in xrange(n)]
def main(args):
limit = (0, 1)
for x in xrange(n):
for y in xrange(m):
matr = random.choice(limit)
print matr
if __name__ == “__main__”:
main(sys.argv)
nicra
Янв. 5, 2010 00:39:06
import random
import sys
n = 10
m = 20
matr = [[0] * m for i in xrange(n)]
def main(args):
limit = (0, 1)
for x in xrange(n):
for y in xrange(m):
matr[x][y] = random.choice(limit)
while len(matr) > 2:
print(matr)
matr = matr[1:]
print
if __name__ == "__main__":
main(sys.argv)
Практически идеально,только вот не понял что теперь с рандомом. Выводит 8 нулевых матриц нужного размера
Evgen
Янв. 5, 2010 06:24:56
У тебя цикл находится за пределами функции main, т.е. сначала у тебя происходит вывод нулевой матрицы, а потом вызов функции с рандомом. Это же питон, надо сделать всему циклу while отступ на один таб (или что там у тебя в качестве отступов).
nicra
Янв. 5, 2010 11:25:33
Спасибо баальшое Evgen!
Моя проблема на данном этапе решена)