1. 程式人生 > 實用技巧 >python-給一個引數n,例如3:先輸出1,2,3,4,5,6,7,8,9,每三個數後換行,後輸出1,4,7,2,5,8,3,6,9

python-給一個引數n,例如3:先輸出1,2,3,4,5,6,7,8,9,每三個數後換行,後輸出1,4,7,2,5,8,3,6,9

"""                                                                
  2 定義一個函式,fn(n)其中n表示輸入n行n列的矩陣,需要滿足的要求是在n為
    3時先輸出
  3 1 2 3          
  4 4 5 6          
  5 7 8 9          
  6 後輸出         
  7 1 4 7          
  8 2 5 8          
  9 3 6 9          
 10 解決方案:     
 11 定義一個區域性函式,返回其區域性函式的值,並且根據其規律來寫程式碼
 12 
""" 13 def found_list(num): 14 """ 15 建立一個num*num的二維列表 16 """ 17 list1 = [[0 for i in range(num)] for i in range(num)] 18 return list1 19 20 def function(num,list1): 21 z = 0 22 for x in range(num): 23 for y in
range(num): 24 z += 1 25 list1[x][y] = z 26 27 return list1 28 def function2(num,list2): 29 i = 1 30 for x in range(num): 31 n = 1 32 for y in range(num): 33 z = i + (n - 1)*num 34 list2[x][y] = z
35 n += 1 36 if n > num: 37 break 38 i += 1 39 if i > num: 40 break 41 return list2 42 43 def display(list1): 44 for x in range(num): 45 for y in range(num): 46 print(list1[x][y],end = "\t") 47 print() 48 print("#"*50) 49 if __name__ == "__main__": 50 num = int(input()) 51 list1 = found_list(num) 52 list2 = found_list(num) 53 list3 = function(num,list1) 54 list4 = function2(num,list2) 55 display(list3) 56 display(list4)

執行結果

輸入3時

1 2 3
4 5 6
7 8 9
##################################################
1 4 7
2 5 8
3 6 9
##################################################
輸入5時
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
##################################################
1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25
##################################################
這只是一種實現方法,並且程式碼的還有很大的優化空間,利用區域性函式或者用函式作為引數均可以使程式碼變得更加整潔