while循环嵌套推导九九乘法表|疫情期间日更(12)

我们先由小星星的例子引入:
#在控制台连续输出5行号,每一行 小星星个数次递增
我们发现第一行有一个*,第二行有**,那么行数为几,该行就有几个小星星
友情提示:row代表行 col代表列

方法一:
直接用乘法,每次输出小星星乘以当前行数得出了正确的结果。

row=1
while row <=5:
    print("*"*row)
    row +=1

输出结果为:

*
**
***
****
*****

.

说第二种方法之前,我们先进行一个扩展

扩展:一般来说print()函数输出内容之后,会自动在末尾换行。如果不希望换行的话,要在print()函数输出内容之后,增加,end=""

print("*")
print("*",end="+++")
print("*")
输出:
*
*+++*

.

方法二:
这是一个while循环的嵌套,和if循环嵌套的缩进类似。我们写嵌套代码的时候,要一层一层写。

row=1
while row <=9:
    col=1
    while col <=row:
        print("*",end="")
        col +=1
    print("")
    row +=1

输出:

*
**
***
****
*****
******
*******
********
*********

九九乘法表

我们发现九九乘法表有一个规律:每一个都是 其所在的列数和其所n在的行数的乘积
根据上边小星星的启发

row=1
while row <=9:
    col=1
    while col <=row:
        print("9 * %d = 81" % row,end=" ") 
        col +=1
    print("")
    row +=1

输出:

9 * 1 = 81 
9 * 2 = 81 9 * 2 = 81 
9 * 3 = 81 9 * 3 = 81 9 * 3 = 81 
9 * 4 = 81 9 * 4 = 81 9 * 4 = 81 9 * 4 = 81 
9 * 5 = 81 9 * 5 = 81 9 * 5 = 81 9 * 5 = 81 9 * 5 = 81 
9 * 6 = 81 9 * 6 = 81 9 * 6 = 81 9 * 6 = 81 9 * 6 = 81 9 * 6 = 81 
9 * 7 = 81 9 * 7 = 81 9 * 7 = 81 9 * 7 = 81 9 * 7 = 81 9 * 7 = 81 9 * 7 = 81 
9 * 8 = 81 9 * 8 = 81 9 * 8 = 81 9 * 8 = 81 9 * 8 = 81 9 * 8 = 81 9 * 8 = 81 9 * 8 = 81 
9 * 9 = 81 9 * 9 = 81 9 * 9 = 81 9 * 9 = 81 9 * 9 = 81 9 * 9 = 81 9 * 9 = 81 9 * 9 = 81 9 * 9 = 81 
row=1
while row <=9:
    col=1
    while col <=row:
        print("%d * %d = 81" % ( col,row),end=" ") 
        col +=1
    print("")
    row +=1

输出:

1 * 1 = 81 
1 * 2 = 81 2 * 2 = 81 
1 * 3 = 81 2 * 3 = 81 3 * 3 = 81 
1 * 4 = 81 2 * 4 = 81 3 * 4 = 81 4 * 4 = 81 
1 * 5 = 81 2 * 5 = 81 3 * 5 = 81 4 * 5 = 81 5 * 5 = 81 
1 * 6 = 81 2 * 6 = 81 3 * 6 = 81 4 * 6 = 81 5 * 6 = 81 6 * 6 = 81 
1 * 7 = 81 2 * 7 = 81 3 * 7 = 81 4 * 7 = 81 5 * 7 = 81 6 * 7 = 81 7 * 7 = 81 
1 * 8 = 81 2 * 8 = 81 3 * 8 = 81 4 * 8 = 81 5 * 8 = 81 6 * 8 = 81 7 * 8 = 81 8 * 8 = 81 
1 * 9 = 81 2 * 9 = 81 3 * 9 = 81 4 * 9 = 81 5 * 9 = 81 6 * 9 = 81 7 * 9 = 81 8 * 9 = 81 9 * 9 = 81 
row=1
while row <=9:
    col=1
    while col <=row:
        print("%d * %d = %d" % ( col,row,col*row),end=" ") 
        col +=1
    print("")
    row +=1

输出:

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 

但是这个九九乘法表有个别不对齐,我们就要引入一个制表符

#\t 在控制台输出一个制表符,协助在输出文本时,垂直方向保持对齐

print("1 2 3")
print("10 20 30")
输出:
1 2 3
10 20 30

加上横向制表符\t

print("1\t2 \t3")
print("10\t20\t30")
输出:
1	2 	3
10	20	30
row=1
while row <=9:
    col=1
    while col <=row:
        print("%d * %d = %d" % ( col,row,col*row),end="\t ") 
        col +=1
    print("")
    row +=1

输出结果为:

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	 
发布了18 篇原创文章 · 获赞 12 · 访问量 2240

猜你喜欢

转载自blog.csdn.net/xiaoyun5555/article/details/104571794