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
##################################################
這只是一種實現方法,並且代碼的還有很大的優化空間,利用局部函數或者用函數作為參數均可以使代碼變得更加整潔


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM