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
##################################################
这只是一种实现方法,并且代码的还有很大的优化空间,利用局部函数或者用函数作为参数均可以使代码变得更加整洁
python-给一个参数n,例如3:先输出1,2,3,4,5,6,7,8,9,每三个数后换行,后输出1,4,7,2,5,8,3,6,9的更多相关文章
- Python 构造一个可接受任意数量参数的函数
为了能让一个函数接受任意数量的位置参数,可以使用一个* 参数 在这个例子中,rest 是由所有其他位置参数组成的元组.然后我们在代码中把它当成了一个序列来进行后续的计算
- 用Python写一个简单的Web框架
一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...
- python函数动态参数详解
Python的动态参数: 1,参数前一个"*":在函数中会把传的参数转成一个元组. def func (*args): print(args) func(123,1,2,'a') ...
- Python中的参数
Python中的参数 1. python函数参数有多重形式: * test(arg1,arg2,`*args`) * test(arg1,arg2,`*args`,`**kwargs`) 2. 其中比 ...
- [转]Python 命令行参数和getopt模块详解
FROM : http://www.tuicool.com/articles/jaqQvq 有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Pyt ...
- python命令行参数
〇.python中对应的argc, argv需要模块:sys参数个数:len(sys.argv)脚本名: sys.argv[0]参数1: sys.argv[1]参数2: sys. ...
- 使用python检测一个设备是否ping的通
使用python检测一个设备是否ping的通 一,subprocess以及常用的封装函数 运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并 ...
- python获取命令行参数的方法
想用python处理一下文件,发现有argv这个用法,搜来学习一下. 如果想对python脚步传参数,那么就需要命令行参数的支持了,这样可以省的每次去改脚步了. 用法是:python xx.py ...
- Python 命令行参数和getopt模块详解
有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Python里,命令行的参数和C语言很类似(因为标准Python是用C语言实现的).在C语言里,m ...
随机推荐
- Ubuntu下跑通py-faster-rcnn、详解demo运作流程
在不同的服务器不同的机器上做过很多次实验,分别遇到各种不一样的错误并且跑通Py-Faster-RCNN,因此,在这里做一个流程的汇总: 一.下载文件: 首先,文件的下载可以有两种途径: 1.需要在官网 ...
- HDU 6704 K-th occurrence(主席树 + RMQ + 后缀数组)题解
题意: 给一个串\(S\),\(length\leq 1e5\),\(Q\leq1e5\)个询问,每次询问输出和\(S_lS_{l+1}\dots S_r\)长得一模一样的第\(k\)个子串的开头位置 ...
- /usr/lib/nvidia-384/libEGL.so.1 is not a symbolic link
记得要将384改为自己系统对应的a. sudo mv /usr/lib/nvidia-384/libEGL.so.1 /usr/lib/nvidia-384/libEGL.so.1.org sudo ...
- VuePress config All In One
VuePress config All In One docs/.vuepress/config.js const { title, description, } = require('../../p ...
- 微信小程序批量上传图片 All In One
微信小程序批量上传图片 All In One open-data https://developers.weixin.qq.com/miniprogram/dev/component/open-dat ...
- Python Tutorials
Python Tutorials Real Python https://realpython.com/ https://realpython.com/courses/ https://realpyt ...
- HTML Custom Elements (v1)
HTML Custom Elements (v1) https://developers.google.com/web/fundamentals/web-components/customelemen ...
- HTTP/2 & Push Cache
HTTP/2 & Push Cache HTTP/2 & 推送缓存 https://caniuse.com/#search=http2 https://jakearchibald.co ...
- React Hooks & React v16.8.6
React Hooks Hooks are a new addition in React 16.8 const [state, setState] = useState(initialState); ...
- React & Calendar
React & Calendar 日历 https://github.com/YutHelloWorld/calendar/blob/master/src/Calendar.js // 国际化 ...