Python打印九九乘法表的五种方式

关键点:外循环控制行,内循环控制列,列数取决于行数(第一行一列,第二行二列……)

方式一:for循环

for i in range(1, 10):
    for j in range(1, 10):
        if i >= j:
            print("{}*{}={}".format(j, i, j * i), end=	)
    print()

方式二:for循环

for i in range(1, 10):
    for j in range(1, i + 1):
        # print("{}*{}={}".format(i, j, i*j), end=	)
        print("{0}*{1}={2}".format(j, i, j * i), end=	)
    print()

方式三:while循环

row = 1
while row <= 9:
    column = 1
    while column <= row:
        print({}*{}={}.format(column, row, row * column), end=	)
        column += 1
    print()
    row += 1

方式四:列表表达式

L = 
.join(
    [	.join([{}*{}={}.format(column, row, row * column) for column in range(1, row + 1)]) for row in range(1, 10)])
print(L)

方式五:递归算法

def multi(i):
    if i <= 9:
        for j in range(1, i + 1):
            print("{}*{}={}".format(j, i, j * i), end="	")
        print()
        multi(i + 1)


multi(1)

放在一块

#!/usr/bin/env python
# -*- encoding:utf-8 -*-
# author:ttt

# 方式一:for循环
for i in range(1, 10):
    for j in range(1, 10):
        if i >= j:
            print("{}*{}={}".format(j, i, j * i), end=	)
    print()

print("分割线".center(100, -))
# 方式二: for循环
for i in range(1, 10):
    for j in range(1, i + 1):
        # print("{}*{}={}".format(i, j, i*j), end=	)
        print("{0}*{1}={2}".format(j, i, j * i), end=	)
    print()

print("分隔线".center(100, -))
# 方式三:while循环
row = 1
while row <= 9:
    column = 1
    while column <= row:
        print({}*{}={}.format(column, row, row * column), end=	)
        column += 1
    print()
    row += 1

print("分隔线".center(100, -))
# 方式四:列表表达式
L = 
.join(
    [	.join([{}*{}={}.format(column, row, row * column) for column in range(1, row + 1)]) for row in range(1, 10)])
print(L)

print("分隔线-".center(100, -))


# 方式五:递归算法
def multi(i):
    if i <= 9:
        for j in range(1, i + 1):
            print("{}*{}={}".format(j, i, j * i), end="	")
        print()
        multi(i + 1)


multi(1)

实现效果:

关键点:外循环控制行,内循环控制列,列数取决于行数(第一行一列,第二行二列……) 方式一:for循环 for i in range(1, 10): for j in range(1, 10): if i >= j: print("{}*{}={}".format(j, i, j * i), end= ) print() 方式二:for循环 for i in range(1, 10): for j in range(1, i + 1): # print("{}*{}={}".format(i, j, i*j), end= ) print("{0}*{1}={2}".format(j, i, j * i), end= ) print() 方式三:while循环 row = 1 while row <= 9: column = 1 while column <= row: print({}*{}={}.format(column, row, row * column), end= ) column += 1 print() row += 1 方式四:列表表达式 L = .join( [ .join([{}*{}={}.format(column, row, row * column) for column in range(1, row + 1)]) for row in range(1, 10)]) print(L) 方式五:递归算法 def multi(i): if i <= 9: for j in range(1, i + 1): print("{}*{}={}".format(j, i, j * i), end=" ") print() multi(i + 1) multi(1) 放在一块 #!/usr/bin/env python # -*- encoding:utf-8 -*- # author:ttt # 方式一:for循环 for i in range(1, 10): for j in range(1, 10): if i >= j: print("{}*{}={}".format(j, i, j * i), end= ) print() print("分割线".center(100, -)) # 方式二: for循环 for i in range(1, 10): for j in range(1, i + 1): # print("{}*{}={}".format(i, j, i*j), end= ) print("{0}*{1}={2}".format(j, i, j * i), end= ) print() print("分隔线".center(100, -)) # 方式三:while循环 row = 1 while row <= 9: column = 1 while column <= row: print({}*{}={}.format(column, row, row * column), end= ) column += 1 print() row += 1 print("分隔线".center(100, -)) # 方式四:列表表达式 L = .join( [ .join([{}*{}={}.format(column, row, row * column) for column in range(1, row + 1)]) for row in range(1, 10)]) print(L) print("分隔线-".center(100, -)) # 方式五:递归算法 def multi(i): if i <= 9: for j in range(1, i + 1): print("{}*{}={}".format(j, i, j * i), end=" ") print() multi(i + 1) multi(1) 实现效果:
经验分享 程序员 微信小程序 职场和发展