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) 实现效果: