九九开始的复习

这周复习之前的学的知识关于range函数,gormat函数,print的使用总结一下

从一个小例子开始,开始我的回顾吧,
大家都是从那个九九乘法表开始的数学之旅,从一一得一,开始了我们的面向绝望之旅数学之旅

首先我想到如果要展示出'''
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
'''
我的第一反应,两个循环 一个负责行的循环 一个负责列的循环,这样我们可以创建两个函数达到自己的目的
于是有了下面的第一个版本

 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 

这是按照需求生成的第一个版本,它满足了我对乘法表的逻辑设计,一个负责生成行,一个负责生成列,是最基础的版本,跟它在数学的地位一样,搭建了最基础也是最重要的地基。

这里我们用到了print()的用法,在print()函数中在后面添加一个'end=',这可以在打印一串字符时用end=后面的符号链接字符,默认使用回车符号来填充,我这里为了可以让他们在同一行,用了空格进行间隔

这里还用了range()函数,在range()中默认是从0开始的,我们不需要0,所以从x=1开始,

还有拼接字符串的函数format(),下面在具体使用它
当然我们不可能对这么简单的代码就满足了,然后我们对它进行优化,第一步先合并成一个函数,for循环里面叠加一个for循环,最后只用一个函数就可以解决问题,简单明了。

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 

这样我们就完成了第三版本九九乘法表了,简化了函数,修改了外观,当然还有很多可以修改的地方,

我们可以通过修改print可以改成加法 减法 除法,还可以通过time导入sleep,调整出现的时间,通过thinter作出GUI界面

小知识:

下面这几个实验可以明确的知道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这样我们就完成了最终版本

九九乘法表的python复习的更多相关文章

  1. 输出九九乘法表(Python、Java、C、C++、JavaScript)

    最近在学python的过程中,接触到了循环的知识,以及这个案例,于是写了下!感觉还不错,然后就用其它几种语言也试了下!! 接下来,就跟大家分享下实现方法!! 实现输出九九乘法表,主要用到的是循环的知识 ...

  2. 九九乘法表(Python实现)

    a = 1 #while实现 while a: b = 1 while b: print(str(b)+'*'+str(a),end='=') print(a*b,end=' ') if b == a ...

  3. 【转】Python实现不同格式打印九九乘法表

    前言:最近在学习Python,学习资源有慕课网上的视频教程.菜鸟教程以及Python官方文档tutorial.虽然了解了Python的基本语法,但是还没有真正意义上输出自己写的代码.代码小白,之前仅学 ...

  4. 用Python编写九九乘法表考虑print自动换行问题

    编写了一个简单的小程序九九乘法表,代码如下: for i in range(1,10): for j in range(1,i+1): print(" %d*%d=%d" % (j ...

  5. Python小代码_1_九九乘法表

    Python小代码_1_九九乘法表 max_num = 9 row = 1 while row <= max_num: col = 1 while col <= row: print(st ...

  6. 利用Python中的for循环和while循环,打印各种方向的九九乘法表。

    哈喽大家好,今天,可乐来给大家分享一下Python中用for循环和while循环打印九九乘法表的操作.由于本人也是刚刚接触Python不长时间,代码也是自己编写的,所以有什么不足之处还请大家多多指教. ...

  7. Python实现不同格式打印九九乘法表

    前言:最近在学习Python,学习资源有慕课网上的视频教程.菜鸟教程以及Python官方文档tutorial.虽然了解了Python的基本语法,但是还没有真正意义上输出自己写的代码.代码小白,之前仅学 ...

  8. Python学习笔记系列——九九乘法表&猜大小

    再重新捡起Python,数据库短时间之内已经没啥看的了,不知道今年结束之前能不能Python入门,一直认为自己是没有编程思想的... 1.九九乘法表 #九九乘法表实现的一种方式之一 def Multi ...

  9. python打印九九乘法表

    每种编程语言都可能会遇到编写“九九乘法表”的问题,用Python来处理也是很简单的,具体代码如下(基于Python3)): i = 1 while i <= 9: j = 1 while j & ...

随机推荐

  1. 【转载】uWSGI配置翻译

    英文原版: http://uwsgi-docs.readthedocs.io/en/latest/Options.html 转载地址: http://www.cnblogs.com/zhouej/ar ...

  2. rabbitmq的万能安装和外网访问(NC版)

    先去这个http://www.rabbitmq.com/releases/下载erlang环境和rpm(erlang的尽量高点,rabbitmq版本差不多就可以了,) erlang-19.0.4-1. ...

  3. linux下压缩与解压缩

    版权声明: https://blog.csdn.net/zdp072/article/details/27584773 [ tar具体解释: ] -c: 建立压缩档案 -x:解压 -t:查看内容 -r ...

  4. ZOJ 4103 浙江省第16届大学生程序设计竞赛 D题 Traveler 构造

    这个题,正赛的时候也没有过,不过其实已经有了正确的解法,可惜时间不多了,就没有去尝试. 题意是有n个点,i点能通向i-1,然后i和i*2.i*2+1互通. 请你构造一种路径从1能走完所有点,并且不重复 ...

  5. python基础整理6——爬虫基础知识点

    爬虫基础 什么是爬虫: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁. ...

  6. Python学习笔记系列——高阶函数(map/reduce)

    一.map #变量可以指向函数,函数的参数能接受变量,那么一个函数就可以接受另一个函数作为参数,这种函数被称之为高阶函数 def add(x,y,f): return f(x)+f(y) print( ...

  7. BurpSuite+SQLmap的一种另类扫描

    过年之后就忙的团团转.三月开始可以轻松一些,抽空写写最近瞎折腾的东西,本文只是描述工具的一种使用方法,无技术含量.(PS:这种做法,网上也有很多教程,本文只为记录). 由于公司使用的电脑都是win10 ...

  8. Linux磁盘与文件系统管理(一)

    fdisk 常用的磁盘分区工具,受mbr分区表的限制,只能给小于2TB的磁盘划分分区,如果使用fdisk对大于2TB的磁盘进行分区,虽然可以分区,但只能识别2T的空间,一般使用parted分区工具 - ...

  9. Linux服务-samba

    目录 1. samba简介 2. samba访问 Linux服务-samba 1. samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. 在 ...

  10. nRF52832 改变ATT_MTU提高蓝牙数据发送速率(nRF5_SDK_14.2.0)

    nRF52832 作为一个低功耗蓝牙芯片,其数据发送发送速率一直都偏低(高就不叫低功耗了^_^),作为初学者在网上找了很多资料,终于找到通过修改ATT_MTU来提升发送速率的方法,最快能达到8.2KB ...