0

标题说明了一切。我遇到这个问题最困难的部分是我不允许使用sum()

我不知道如何创建矩阵,我正在寻找一些帮助来创建和填充矩阵。

这是我到目前为止所知道的。

def random():
    import random
    x=random.random()
    return x

def create_matrix(x,y):
    random.seed(1)

def main():
    random()

main()

很抱歉,如果有的话,这并不多,我感谢我收到的任何帮助。

Enter the number of rows: 3
Enter the number of columns: 2
Enter the threshold for column sum: .5
---------------------------------------
||     ||   1    |   2    |   sum    ||
---------------------------------------
||  1  ||  0.134 |  0.847 |    0.982 ||
||  2  ||  0.764 |  0.255 |    1.019 ||
||  3  ||  0.495 |  0.449 |    0.945 ||
---------------------------------------
|| sum ||   0.63 |   0.70 |      2.9 ||
---------------------------------------

我得到了这张表,但我也缺乏如何格式化它的知识。我认识到破折号等于格式化行的长度,并且表示行和列的数字居中。还有,小数只进三位,最下面的就是两位,最后的和只有一位。

4

1 回答 1

0

这样的东西有用吗?

import random

def create_matrix(x,y):
    matrix = []
    for i in range(x):
        matrix.append([])
        for j in range(y):
            matrix[i].append(random.random())
    return matrix

def main():
    matrix = create_matrix(3, 2)
    for row in matrix:
        print row

main()

编辑

处理 ValueError:

def main():
    while(True):
        try:
            x=int(input('Enter the number of rows: '))
            y=int(input('Enter the number of cols: '))
            matrix = create_matrix(x, y)
            for row in matrix:
                print row
            break
        except ValueError:
            print "Just give integers please. Try again."

编辑 2

def print_matrix(matrix):
    print "-" + "------------"*len(matrix[0])
    for i in range(len(matrix)):
        print "|",
        for j in range(len(matrix[i])):
            print "{0:9} |".format(matrix[i][j]),
        print 
    print "-" + "------------"*len(matrix[0])
于 2013-10-31T01:10:59.657 回答