python四种方式打印九九乘法表
小白python刷题自学
·
最近学习python中刷的一道练习题,使用方法一:for内外层循环要简单些。
拆解了一下思路:a*b= ab
1找到变化的a与b,a变化范围是1-9,所以采取for循环,使用range函数
2看似b的变化范围也是1-10,其实在这里,b是根据a来变化的,比如a=5
那b只需要取1-5即可,即产生5*1,5*2,5*3,5*4,5*5;
所以b在使用for循环过程中,需要注意range的范围(1,a+1)
3接下来就需要打印,这里需要注意3个地方--目标输出的样子如下
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
注意1:b依赖于a的循环,a是外层循环,b是内层循环,a取7时,要保证b从1-7遍历与a相乘
注意2:在打印时,分清楚输出格式是下面哪种是a*b还是b*a,显然是后者,见上图按行去理解
注意2:打印要加end=‘\t’ 控制两个算式之间的空格,同时在内层循环中注意换行,print()
\\方法一:for嵌套循环
#方法一:嵌套循环
for a in range(1,10): #外层控制行
for b in range(1,a+1): #内层控制列
print('{0}*{1}={2}'.format(b,a,b*a),end='\t')
print()
\\方法二:while嵌套
row = 1
while row <= 9:
column = 1
while column <= row:
print('{}*{}={}'.format(column,row,row*column),end='\t')
column += 1
print()
row += 1
思路:while嵌套需要加入计时器,容易出错些
方法三:列表表达式
L = '\n'.join(
['\t'.join(['{}*{}={}'.format(column, row, row * column) for column in range(1, row + 1)]) for row in range(1, 10)])
print(L)
方法四:递归--暂时没想到
更多推荐
已为社区贡献1条内容
所有评论(0)