2013-10-31 26 views
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 || 
--------------------------------------- 

我給了這張表,但我也缺乏如何格式化這方面的知識。 我認識到破折號等於格式化行的長度,表示行和列的數字居中。 另外,小數點只執行三個地方,底部的是兩個地方,最後的和只有一個地方。

+1

'DEF隨機(): 隨機進口 X = random.random() return x' - 啊!只要'從隨機輸入隨機,種子',並保存自己的頭痛。 –

回答

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]) 
+1

是的,這非常有用。 我的教授口音非常沉重,所以很難理解她。 –

+0

我想要設置(3,2)你習慣的變量。 我這樣做: 'X = INT(輸入( '輸入行數: '))' 和 'Y = INT(輸入(' 輸入列數:'))' 如何我可以使用_try-except_來檢查** ValueError **發生嗎? @Christian –

+0

查看編輯,這是你想要的嗎? – Christian