Python乘法表代码原理解析及加法表实现方法咨询
乘法表代码解析与加法表实现方案
一、现有乘法表代码解析
先贴出你提供的代码:
def mathTables(): for i in range(1, 10+1): for j in range(i, (i*10)+1): if (j % i == 0): print(j, end="\t") print()
逐行拆解逻辑:
def mathTables()::定义一个无参数、无返回值的函数,负责生成乘法表。- 外层循环
for i in range(1, 10+1)::range(1,11)生成1到10的整数,i代表当前要生成的是i的倍数行(比如i=3时,生成3的1到10倍)。 - 内层循环
for j in range(i, (i*10)+1)::j从i开始,到i*10结束(比如i=2时,j从2遍历到20)。 - 判断
if (j % i == 0)::检查j是否是i的倍数(余数为0),筛选出i的1到10倍(j从i到i10,符合条件的j就是i1、i2…i10)。 print(j, end="\t"):打印j,并用制表符\t代替默认换行符,让同一行数字横向对齐。- 外层循环末尾的
print():一行的倍数打印完后换行,开始下一行生成。
二、简化版乘法表代码
原代码的内层循环+判断逻辑可以简化,直接生成i的1到10倍,逻辑更直观:
def mathTables(): print("=== 1-10乘法表 ===") for i in range(1, 11): # k从1到10,直接计算i*k得到i的k倍 for k in range(1, 11): print(i * k, end="\t") # 每行结束后换行 print()
三、1-10加法表实现(含格式设置)
1. 仅打印加法结果的版本(和乘法表格式一致)
逻辑和简化版乘法表类似,把乘法改成加法即可:
def additionTables(): print("\n=== 1-10加法表(仅结果) ===") for i in range(1, 11): for j in range(1, 11): print(i + j, end="\t") print()
2. 打印完整加法表达式的版本(带格式对齐)
如果需要打印a + b = c的完整表达式,用Python的f-string格式化输出,固定宽度保证列对齐:
def additionTables(): print("\n=== 1-10加法表(完整表达式) ===") for i in range(1, 11): for j in range(1, 11): # :2 表示固定输出宽度为2,不足用空格填充,确保对齐 print(f"{i:2} + {j:2} = {i+j:2}", end="\t") print()
四、整合调用代码
将两个函数放在一起,运行后同时打印加法表和乘法表:
def mathTables(): print("=== 1-10乘法表 ===") for i in range(1, 11): for k in range(1, 11): print(i * k, end="\t") print() def additionTables(): print("\n=== 1-10加法表(完整表达式) ===") for i in range(1, 11): for j in range(1, 11): print(f"{i:2} + {j:2} = {i+j:2}", end="\t") print() # 执行函数 mathTables() additionTables()
内容的提问来源于stack exchange,提问作者Emily McWilliams
相关产品推荐
相关产品推荐

