这周复习以前的学的知识关于range函数,gormat函数,print的使用总结一下python
从一个小例子开始,开始个人回顾吧,
你们都是从那个九九乘法表开始的数学之旅,从一一得一,开始了咱们的面向绝望之旅数学之旅json
首先我想到若是要展现出'''
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
'''
个人第一反应,两个循环 一个负责行的循环 一个负责列的循环,这样咱们能够建立两个函数达到本身的目的
因而有了下面的第一个版本markdown
1#九九乘法表-v1
2def table():#这个函数负责对行的循环
3 for i in range(1,10):
4 l = tablez_zi(i)
5
6
7
8def tablez_zi(j): #这个函数负责对列的循环
9 j = int(j)
10 for i in range(1,j+1):
11 k = i*j
12 print('{0}*{1}={2}'.format(i,j,k),end=' ')
13 print('')
14table()
11*1=1
21*2=2 2*2=4
31*3=3 2*3=6 3*3=9
41*4=4 2*4=8 3*4=12 4*4=16
51*5=5 2*5=10 3*5=15 4*5=20 5*5=25
61*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
71*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
81*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
91*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
这是按照需求生成的第一个版本,它知足了我对乘法表的逻辑设计,一个负责生成行,一个负责生成列,是最基础的版本,跟它在数学的地位同样,搭建了最基础也是最重要的地基。app
这里咱们用到了print()的用法,在print()函数中在后面添加一个'end=',这能够在打印一串字符时用end=后面的符号连接字符,默认使用回车符号来填充,我这里为了可让他们在同一行,用了空格进行间隔 函数
这里还用了range()函数,在range()中默认是从0开始的,咱们不须要0,因此从x=1开始,优化
还有拼接字符串的函数format(),下面在具体使用它
固然咱们不可能对这么简单的代码就知足了,而后咱们对它进行优化,第一步先合并成一个函数,for循环里面叠加一个for循环,最后只用一个函数就能够解决问题,简单明了。spa
1#九九乘法表-v2
2def table_two():
3 for i in range(1,10):
4 for j in range(1,i+1):
5 k = i*j
6 print('{0}*{1}={2}'.format(j,i,k),end=' ')
7 print('')
8table_two()
11*1=1
21*2=2 2*2=4
31*3=3 2*3=6 3*3=9
41*4=4 2*4=8 3*4=12 4*4=16
51*5=5 2*5=10 3*5=15 4*5=20 5*5=25
61*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
71*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
81*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
91*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
这样就能够合并成一个函数执行了,减小了系统产生的资源消耗,可是,有些强迫症的人(好比说我)必定看个3*4=12与3*5=15之间对不齐,感受很难受,特别不舒服,针对这种状况咱们能够对代码进行再一次的修改,调整成整齐的格式,看着更加舒服设计
1#九九乘法表-v3
2def table_three():
3 for i in range(1,10):
4 for j in range(1,i+1):
5 k = i*j
6 print('{0}*{1}={2:<2}'.format(j,i,k),end=' ')
7 #这里对format函数进行修改,':'后面'<'这个符号是为了让字符串向左对其,然后面的那个'2'是为了将字符串强制控制在2位
8 print('')
9table_three()
11*1=1
21*2=2 2*2=4
31*3=3 2*3=6 3*3=9
41*4=4 2*4=8 3*4=12 4*4=16
51*5=5 2*5=10 3*5=15 4*5=20 5*5=25
61*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
71*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
81*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
91*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
这样咱们就完成了第三版本九九乘法表了,简化了函数,修改了外观,固然还有不少能够修改的地方,code
咱们能够经过修改print能够改为加法 减法 除法,还能够经过time导入sleep,调整出现的时间,经过thinter做出GUI界面orm
小知识:
下面这几个实验能够明确的知道format的用法
1st= 'hello world.I like python'
2print(
3 '[{0}]'.format(st), #正常替换进去
4 '[{0:30}]'.format(st), #控制字符串的长度为30
5 '[{0:>30}]'.format(st), #字符串右对其
6 '[{0:^30}]'.format(st), #字符串居中对其
7 '[{0:-^30}]'.format(st), #字符串居中对其且用’-‘填充多余部分
8 '[{0:.<30}]'.format(st), #字符串左对其且用’.‘填充多余部分
9 '[{0:10}]'.format(st),sep='\n') #所有取到
10 #这里还用到了print()的sep 的用法,这是在同一行时sep决定两个字符串中间用什么
1[hello world.I like python]
2[hello world.I like python ]
3[ hello world.I like python]
4[ hello world.I like python ]
5[--hello world.I like python---]
6[hello world.I like python.....]
7[hello world.I like python]
1这样咱们就完成了最终版本