用随机数填充矩阵并计算这些数字的总和

时间:2013-10-31 01:03:54

标签: python-3.x matrix sum

标题说明了一切。 我遇到这个问题最困难的部分是我不允许使用 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 ||
---------------------------------------

我得到了这张表,但我也缺乏如何格式化的知识。 我认识到破折号等于格式化行的长度,并且表示行和列的数字居中。 此外,小数只能执行三个位置,底部的位数是两个位置,最后的总和只有一个位置。

1 个答案:

答案 0 :(得分: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])