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


    笨鸟先飞
  • 相关阅读:
    PHP 文件写入和读取(必看篇)
    FormData
    JAVA中使用MD5加密实现密码加密
    使用JSONObject生成和解析json
    spring的@Transactional注解详细用法
    获取当前运行函数和方法的名字
    getattr的使用
    python socket编程入门级
    python字典解析
    我看到的最棒的Twisted入门教程!
  • 原文地址:https://www.cnblogs.com/zoutingrong/p/13887776.html
Copyright © 2011-2022 走看看