今天看啥  ›  专栏  ›  曾亲桂林

用python做个九九乘法表-够简单,能学会

曾亲桂林  · CSDN  ·  · 2020-12-17 10:15

学pyhon 大部分同学都感觉一学就懂,自己写就废了。主要还是代码写的少了。
太复杂的项目,学习研究太困难,会阻碍我们学习的信心
今天教大家写点简单的小案例,巩固自己的基础知识
加油少年,写够5000行 基础过关

首先,我们来回忆一下99乘法表长什么样子吧

image

进入正题:实现99乘法表

你能学到

  • for 循环

  • range函数

  • format 格式字符串

  • print 函数

源代码

# 外层for循环代表打印9行
for i in range(1, 10):
     # 内层for循环打印列
     # 第一行1列,第而行2列,以此类推
    for j in range(1, i+1):
        # 格式化 输出{行}x{列}={行乘列}
        print('{}x{}={}\t'.format(j, i, i*j), end='')
    print()

结果

九九乘法表

前备知识分解

range

python range() 函数可创建一个整数列表,一般用在 for 循环中。
函数语法

range(start, stop[, step])

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

举例

>>>range(10)        # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 10)     # 从 1 开始到 10
[1, 2, 3, 4, 5, 6, 7, 8, 9]

format

str.format(),它增强了字符串格式化的功能。
基本语法是通过 {}
举例

"{}--{}".format("hello", "world")    
# 不设置指定位置,按默认顺序
'hello--world'

for循环

这里用一个动图演示for循环

for循环.gif


九九乘法表分解

输出0-9

for i in range(1, 10):
    print(i)

输出结果

1
2
3
4
5
6
7
8
9

1到9不换行

print默认执行就会以换行结尾
有个 end 参数,告诉print函数以 空字符串结尾 (输出不换行)

for i in range(1,10):
    print(i,end='')

输出结果

123456789

有缩进

在python 字符串中 \t 代表一个tab缩进

for i in range(1,10):
    print(i,"\t",end='')

输出结果:¨G9G **有缩进 第二个写法** ¨G10G
输出结果还是一致的:

1     2   3   4   5   6   7   8   9   

嵌套输出

嵌套:想象为一个表格外层for 代表行( 9行 ),内容for代表列 ( 9列
外层用 print() 换行

for i in range(1,10):
    for j in range(1,10):
        print("{}\t".format(j),end='')
    print()

结果

1    2   3   4   5   6   7   8   9   
1    2   3   4   5   6   7   8   9   
1    2   3   4   5   6   7   8   9   
1    2   3   4   5   6   7   8   9   
1    2   3   4   5   6   7   8   9   
1    2   3   4   5   6   7   8   9   
1    2   3   4   5   6   7   8   9   
1    2   3   4   5   6   7   8   9   
1    2   3   4   5   6   7   8   9   

输出乘表

在这里 i 代表 行 j 代表列,通过format 输出乘法表

for i in range(1,10):
    for j in range(1,10):
        print("{}×{}={}\t".format(i,j,i*j),end='')
    print()

结果:

1×1=1    1×2=2   1×3=3   1×4=4   1×5=5   1×6=6   1×7=7   1×8=8   1×9=9   
2×1=2    2×2=4   2×3=6   2×4=8   2×5=10  2×6=12  2×7=14  2×8=16  2×9=18  
3×1=3    3×2=6   3×3=9   3×4=12  3×5=15  3×6=18  3×7=21  3×8=24  3×9=27  
4×1=4    4×2=8   4×3=12  4×4=16  4×5=20  4×6=24  4×7=28  4×8=32  4×9=36  
5×1=5    5×2=10  5×3=15  5×4=20  5×5=25  5×6=30  5×7=35  5×8=40  5×9=45  
6×1=6    6×2=12  6×3=18  6×4=24  6×5=30  6×6=36  6×7=42  6×8=48  6×9=54  
7×1=7    7×2=14  7×3=21  7×4=28  7×5=35  7×6=42  7×7=49  7×8=56  7×9=63  
8×1=8    8×2=16  8×3=24  8×4=32  8×5=40  8×6=48  8×7=56  8×8=64  8×9=72  
9×1=9    9×2=18  9×3=27  9×4=36  9×5=45  9×6=54  9×7=63  9×8=72  9×9=81  

我们发现乘法表多了一半
这个好办,咱们每列循环的次数不大于 行数
第一行的时候  只有一列
第二行的时候 只有 二列
第三行的时候 只有三列
….
第就行的时候 只有九列
关键就是range的第二个参数 值为 i+1

for i in range(1,10):
    for j in range(1,i+1):
        print("{}×{}={}\t".format(i,j,i*j),end='')
    print()

最终结果为:

1×1=1    
2×1=2    2×2=4   
3×1=3    3×2=6   3×3=9   
4×1=4    4×2=8   4×3=12  4×4=16  
5×1=5    5×2=10  5×3=15  5×4=20  5×5=25  
6×1=6    6×2=12  6×3=18  6×4=24  6×5=30  6×6=36  
7×1=7    7×2=14  7×3=21  7×4=28  7×5=35  7×6=42  7×7=49  
8×1=8    8×2=16  8×3=24  8×4=32  8×5=40  8×6=48  8×7=56  8×8=64  
9×1=9    9×2=18  9×3=27  9×4=36  9×5=45  9×6=54  9×7=63  9×8=72  9×9=81  

动图展示九九乘法表执行过程

九九乘法表.gif

- EOF -

推荐阅读  点击标题可跳转

Python100行-贪吃蛇小游戏

用python打包exe应用程序-PyInstaller

20行python代码的入门级小游戏

10行python代码做出哪些酷炫的事情?

一行Python代码能做出哪些神器的事情

都来到这了,我需要你的点赞支持




原文地址:访问原文地址
快照地址: 访问文章快照