其他
直到今天,我终于学会99乘法表啦~
公众号:尤而小屋
作者:Peter
编辑:Peter
大家好,我是Peter~
相信99乘法表大家都很熟悉,下面介绍如何使用Python来打印99乘法表。为了实现这个需求,前提需要掌握两个知识点:
print()函数的使用 for循环语句的使用
一、print函数
主要是掌握两个参数的使用:sep(连接符)和end(末尾换行符)
连接符默认是:空格 末尾符号默认是:换行
1.1默认情况
print("hello Peter")
hello Peter
print("hello","Peter")
hello Peter
print("hello Peter")
print("***********")
print("hello python")
hello Peter
***********
hello python
1.2连接符sep
从下面的例子中看到默认的连接符是空格
print("hello","Peter")
hello Peter
我们尝试使用不同的连接符来打印数据
print("hello","Peter",sep="+") # 使用+
hello+Peter
print("hello","Peter",sep="-") # 使用-
hello-Peter
print("hello","Peter",sep="***") # 使用***
hello***Peter
1.3末尾参数end
末尾使用的参数
print("hello","Peter") # 默认end情况
print("**************")
print("!!!!!!!!!!!!")
hello Peter
**************
!!!!!!!!!!!!
print("hello","Peter",end="\n") # 默认就是换行
print("****************")
print("!!!!!!!!!!!!")
hello Peter
****************
!!!!!!!!!!!!
通过上面的例子,我们观察到:每次调用print函数都会自动换行。
因为这就是print默认的情况,末尾自动换行。通过使用end来进行改变
print("hello","Peter",end="\t") # 制表符就是表格空格
print("****************", end="\t")
print("!!!!!!!!!!!!")
hello Peter **************** !!!!!!!!!!!!
print("hello","Peter",end="|") # 指定不同的默认符号
print("****************", end="+")
print("!!!!!!!!!!!!")
hello Peter|****************+!!!!!!!!!!!!
二、for语句
# 1、打印列表
list1 = [1,2,3,4,5] # 定义列表
for i in list1:
print(i) # 直接打印
1
2
3
4
5
# 2、打印字典
dic = {"name":"小王","sex":"男","age":20}
for i in dic:
print(i)
name
sex
age
# 遍历字典键值对
for i in dic.items():
print(i)
('name', '小王')
('sex', '男')
('age', 20)
# 3、多层for循环
for i in [4,5,6]:
for j in [1,2,3]:
print(i*j) # 实现任意两个数的乘法
4
8
12
5
10
15
6
12
18
三、6种方式
方式1:for-for
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") # 末尾自动换行再加上一个空行
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
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")
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
# 另一种写法:改变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")
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
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")
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
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')
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:使用递归函数
递归函数指的是在某个函数的内部调用这个函数本身
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)
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循环
# 两层for循环
# 内层:使用join的空格连接(列-j)
# 外层:使用join的换行连接(行-i)
print('\n\n'.join([' '.join(["{}x{}={}".format(j, i, i*j) for j in range(1, i+1)]) for i in range(1, 10)]))
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
# 使用f-string
print('\n\n'.join([' '.join([f"{j}x{i}={j*i}" for j in range(1, i+1)]) for i in range(1, 10)]))
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种方式,你学会99乘法表了吗?
推荐阅读
如何学习Python数据分析:Peter帮你整理了一份资料!
尤而小屋,一个温馨的小屋。小屋主人,一手代码谋求生存,一手掌勺享受生活,欢迎你的光临