再次拾起python,很基础的入门题就是打印9*9乘法表,分别有个人作答版、前辈修改版、老师答案版。现把三种方法都记下来:
打印9*9乘法表
自己作答版:能看出,逻辑很乱,因为思考时是先考虑j=i打印成正三角形的形状,再考虑i==j的情况。是倒推代码。
for i in range(1, 10):
for j in range(1, 10):
if i == j:
print(i, '*', j, '=', j**2, end='\t')
elif i > j:
while i > j:
n = i * j
print(i, '*', j, '=', n, end='\t')
j = i
print()
长辈修改版:在我写的基础上进行修改,i>=j时就是正三角的形状。
for i in range(1, 10):
for j in range(1, 10):
if i >= j:
n = i * j
print(i, '*', j, '=', n, end='\t')
print()
老师方法:在开始写代码时就思考i行数和j个数的关系:i=1->j=1;i=2->j=2;i=3->j=3;i=4->j=4;…说明第i行上,j就循环i次。所以,i=1,j=1;i=2,j=i.【因为range()函数左闭右开,所以为range(1,i+1)】
for i in range(1,10):
for j in range(1,i+1):
print(i, '*', j, '=', i*j, end='\t')
print()
最终结果都为图片所示: