顺序输出
for i in range(1,10):
for j in range(1,i+1):
print(str(i)+"*"+str(j)+"="+str(i*j)+" ",end="")
print()
代码解释:
由于range函数是左闭右开的区间,所以在range括号中的第二个参数必须是自己所设定上限数值+1,否则输出会少一类。同理,内层循环也是相同的道理。
print输出表达式中,需要将i,j,i*j分别转化为字符串类型,因为数字和字符串是两种不能的类型,即使在python中也不能相加,除非强制类型转换,否则会报错。
至于“ ”这个符号,是因为需要将特定的一行中不同的表达式以空格区分开,否则前后数字会相连在一起,不易观察,也不美观。
end=“”这个代码则是强制取消print函数在末尾加结束符的特性,代之以自己所给定的末尾结束符,此处给定空字符串作为末尾结束符。
最后的print()代码则是在外层循环结束后,必须换行。
逆序输出
for i in range(9,0,-1):
for j in range(i,0,-1):
print(str(i)+"*"+str(j)+"="+str(i*j)+" ",end="")
print()
代码解释:
逆序输出与顺序输出极为类似,唯一的不同点就是range函数的参数使用技巧,即第三个参数的具体使用,默认是1,而在逆序输出中需要从大数到小数排序,所以需要将第三个参数设置为-1.