一:直接输出数字
for i in range(1, 10):
for j in range(1, 10):
print("%2d" % (i*j), end=" ")
# 用于换行
print("")
二:输出标准九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print('{}x{}={}\t'.format(j, i, i*j), end='')
print()
第一段代码解析:
i在range(1,10)内的外部循环:对1到9之间的每个数字i运行一次。
范围(1,10)中j的内部循环:从1到i+1。由于范围从1开始,内部循环在i的第一次迭代中迭代9次(当i为1时),在i的第二次迭代中迭代8次(当i为2时),以此类推,直到i的第七次迭代(当i为8时),然后在i的最后一次迭代中迭代1次(当i为9时)。
print函数用“%2d”和end=“”将每个产品格式化为2位数,并在每次打印后添加一个空格而不是换行符。
在给定i的内部循环完成后,执行print("")以移动到下一行,从乘法表的下一行开始。
第二段代码解析
与第一个代码片段类似,外部循环对从1到9的每个数字i运行一次。
内部循环从1运行到i+1,就像第一个代码片段一样。
print函数使用带format的字符串格式化以" j x i = product "的格式打印出乘法,后面跟着制表符\t表示间距。
在不带参数的print函数中,End = "表示在同一行上继续打印。
在给定i的内部循环完成后,执行不带参数的print()函数以移动到下一行,从乘法表的下一行开始。
这两个代码片段产生相同的输出,即数字1到9的乘法表。然而,第二个代码片段使用了更现代的Python字符串格式化技术(format方法),而第一个代码片段使用了较旧的%-formatting。