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 = "	")
 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
##################################################
这只是一种实现方法,并且代码的还有很大的优化空间,利用局部函数或者用函数作为参数均可以使代码变得更加整洁


笨鸟先飞
原文地址:https://www.cnblogs.com/zoutingrong/p/13887776.html