python打印99乘法表

2023-08-23 15:48:41 浏览数 (2)

打印99乘法表

相信99乘法表大家都很熟悉,下面介绍如何使用Python来打印99乘法表。为了实现这个需求,需要掌握两个知识点:

  • print()函数的使用
  • for循环语句的使用

print函数

主要是掌握两个参数的使用:sep(连接符)和end(末尾换行符)

  • 连接符默认是:空格
  • 末尾符号默认是:换行

默认情况

代码语言:javascript复制
print("hello Peter")
代码语言:javascript复制
hello Peter
代码语言:javascript复制
print("hello","Peter")
代码语言:javascript复制
hello Peter
代码语言:javascript复制
print("hello Peter")
print("***********")
print("hello python")
代码语言:javascript复制
hello Peter
***********
hello python

连接符sep

从下面的例子中看到默认的连接符是空格

代码语言:javascript复制
print("hello","Peter")
代码语言:javascript复制
hello Peter

我们尝试使用不同的连接符来打印数据

代码语言:javascript复制
print("hello","Peter",sep=" ")  # 使用 
代码语言:javascript复制
hello Peter
代码语言:javascript复制
print("hello","Peter",sep="-")  # 使用-
代码语言:javascript复制
hello-Peter
代码语言:javascript复制
print("hello","Peter",sep="***")  # 使用***
代码语言:javascript复制
hello***Peter

末尾参数end

末尾使用的参数

代码语言:javascript复制
print("hello","Peter")  # 默认end情况
print("**************")
print("!!!!!!!!!!!!")
代码语言:javascript复制
hello Peter
**************
!!!!!!!!!!!!
代码语言:javascript复制
print("hello","Peter",end="n")  # 默认就是换行
print("****************")
print("!!!!!!!!!!!!")
代码语言:javascript复制
hello Peter
****************
!!!!!!!!!!!!

通过上面的例子,我们观察到:每次调用print函数都会自动换行。

因为这就是print默认的情况,末尾自动换行。通过使用end来进行改变

代码语言:javascript复制
print("hello","Peter",end="t")   # 制表符就是表格空格
print("****************", end="t")
print("!!!!!!!!!!!!")
代码语言:javascript复制
hello Peter	****************	!!!!!!!!!!!!
代码语言:javascript复制
print("hello","Peter",end="|")   # 指定不同的默认符号
print("****************", end=" ")
print("!!!!!!!!!!!!")
代码语言:javascript复制
hello Peter|**************** !!!!!!!!!!!!

for语句

代码语言:javascript复制
# 1、打印列表
list1 = [1,2,3,4,5]  # 定义列表

for i in list1:
    print(i)  # 直接打印
代码语言:javascript复制
1
2
3
4
5
代码语言:javascript复制
# 2、打印字典
dic = {"name":"小王","sex":"男","age":20}

for i in dic:
    print(i)
代码语言:javascript复制
name
sex
age
代码语言:javascript复制
# 遍历字典键值对

for i in dic.items():
    print(i)
代码语言:javascript复制
('name', '小王')
('sex', '男')
('age', 20)
代码语言:javascript复制
# 3、多层for循环

for i in [4,5,6]:
    for j in [1,2,3]:
        print(i*j)  # 实现任意两个数的乘法
代码语言:javascript复制
4
8
12
5
10
15
6
12
18

种方式

方式1:for-for

代码语言:javascript复制
for i in range(1, 10):
    for j in range(1, i 1):  # 为了有例如:3*3、4*4的情况,必须保证j能够取到i值,所以i 1;range函数本身是不包含尾部数据
        print(f'{j}x{i}={i*j}t', end="")  # end默认是换行;需要改成空格
    print("n")  # 末尾自动换行再加上一个空行
代码语言:javascript复制
1x1=1

1x2=2	2x2=4

1x3=3	2x3=6	3x3=9

1x4=4	2x4=8	3x4=12	4x4=16

1x5=5	2x5=10	3x5=15	4x5=20	5x5=25

1x6=6	2x6=12	3x6=18	4x6=24	5x6=30	6x6=36

1x7=7	2x7=14	3x7=21	4x7=28	5x7=35	6x7=42	7x7=49

1x8=8	2x8=16	3x8=24	4x8=32	5x8=40	6x8=48	7x8=56	8x8=64

1x9=9	2x9=18	3x9=27	4x9=36	5x9=45	6x9=54	7x9=63	8x9=72	9x9=81

方式2:for-while

代码语言:javascript复制
for i in range(1, 10):       # 外层循环范围
    j = 1      # 内层循环初始值
    while j <= i:      # 内层循环条件:从1开始循环
        print("{}x{}={}".format(i,j,(i*j)), end=' ')  # 输出格式
        j  = 1  # j每循环一次加1,进入下次,直到j<=i的条件不满足,再进入下个i的循环中
    print("n")
代码语言:javascript复制
1x1=1

2x1=2 2x2=4

3x1=3 3x2=6 3x3=9

4x1=4 4x2=8 4x3=12 4x4=16

5x1=5 5x2=10 5x3=15 5x4=20 5x5=25

6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36

7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49

8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64

9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
代码语言:javascript复制
# 另一种写法:改变j的初始值

for i in range(1, 10):
    j = 0  # j初始值
    while j < i:    # 不能带等号;下面的循环中j已经自加1,如果带上等号:1<=1,那么将会出现 1*2=2,2*3=6的情况
        j  = 1 # j的初始值为0,为了保证结果中出现的第一个是1,j先自加1
        print("{}x{}={}".format(i,j,(i*j)), end=' ')
    print("n")
代码语言:javascript复制
1x1=1

2x1=2 2x2=4

3x1=3 3x2=6 3x3=9

4x1=4 4x2=8 4x3=12 4x4=16

5x1=5 5x2=10 5x3=15 5x4=20 5x5=25

6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36

7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49

8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64

9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81

方式3:while-for

代码语言:javascript复制
i = 1  # 给定一个初始值

while i <= 9:  # 循环的条件
    for j in range(1, i 1):  # range()函数左闭右开;保证取到i值
        print(f'{i}x{j}={i*j}', end=' ')
    i  = 1  # 循环完一次自动加1,变成2,进入下次循环,直到i=9到达最后一次循环。当i 1变成10,结束循环
    print("n")
代码语言:javascript复制
1x1=1

2x1=2 2x2=4

3x1=3 3x2=6 3x3=9

4x1=4 4x2=8 4x3=12 4x4=16

5x1=5 5x2=10 5x3=15 5x4=20 5x5=25

6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36

7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49

8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64

9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81

方式4:while-while

代码语言:javascript复制
i = 1  # i的初始值

while i <= 9:  # 循环终止条件
    j = 1  # j的初始值
    while j <= i:    # j的大小由i来控制
        print(f'{i}x{j}={i*j}', end='t')
        j  = 1   # j每循环一次都 1,直到j<=i不再满足,跳出这个while循环
    i  = 1  # 跳出上面的while循环后i 1,只要i<9就换行进入下一轮的循环;否则结束整个循环
    print('n')
代码语言:javascript复制
1x1=1

2x1=2	2x2=4

3x1=3	3x2=6	3x3=9

4x1=4	4x2=8	4x3=12	4x4=16

5x1=5	5x2=10	5x3=15	5x4=20	5x5=25

6x1=6	6x2=12	6x3=18	6x4=24	6x5=30	6x6=36

7x1=7	7x2=14	7x3=21	7x4=28	7x5=35	7x6=42	7x7=49

8x1=8	8x2=16	8x3=24	8x4=32	8x5=40	8x6=48	8x7=56	8x8=64

9x1=9	9x2=18	9x3=27	9x4=36	9x5=45	9x6=54	9x7=63	9x8=72	9x9=81

方式5:使用递归函数

递归函数指的是在某个函数的内部调用这个函数本身

代码语言:javascript复制
def nine_nine(i):
    if i < 10:
        for j in range(1,i 1):
            print("{}x{}={}".format(i,j,i*j), end=" ")
        print("n")
        nine_nine(i 1)  # 调用这个函数本身

nine_nine(1)
代码语言:javascript复制
1x1=1

2x1=2 2x2=4

3x1=3 3x2=6 3x3=9

4x1=4 4x2=8 4x3=12 4x4=16

5x1=5 5x2=10 5x3=15 5x4=20 5x5=25

6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36

7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49

8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64

9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81

方式6:列表推导式

列表推导式主要是将两个for循环放在一起的。多用于多层for循环

代码语言:javascript复制
# 两层for循环
# 内层:使用join的空格连接(列-j)
# 外层:使用join的换行连接(行-i)

print('nn'.join([' '.join(["{}x{}={}".format(j, i, i*j) for j in range(1, i 1)]) for i in range(1, 10)]))
代码语言:javascript复制
1x1=1

1x2=2 2x2=4

1x3=3 2x3=6 3x3=9

1x4=4 2x4=8 3x4=12 4x4=16

1x5=5 2x5=10 3x5=15 4x5=20 5x5=25

1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36

1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49

1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64

1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81
代码语言:javascript复制
# 使用f-string

print('nn'.join([' '.join([f"{j}x{i}={j*i}" for j in range(1, i 1)]) for i in range(1, 10)]))
代码语言:javascript复制
1x1=1

1x2=2 2x2=4

1x3=3 2x3=6 3x3=9

1x4=4 2x4=8 3x4=12 4x4=16

1x5=5 2x5=10 3x5=15 4x5=20 5x5=25

1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36

1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49

1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64

1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

看完上面介绍的6种方式,你学会了吗?学废了吗?

0 人点赞