day04 作业

一:用循环打印九九乘法表

1.矩形输出九九乘法表:

for i in range(1,10):
    for j in range(1,10):
        if i <= 9:
            print(f"{j}×{i} = {i * j}", end="\t")
    print("")

运行结果如下:
1×1 = 1	2×1 = 2     3×1 = 3	    4×1 = 4	    5×1 = 5	    6×1 = 6	    7×1 = 7	    8×1 = 8	    9×1 = 9
1×2 = 2	2×2 = 4	    3×2 = 6	    4×2 = 8	    5×2 = 10	6×2 = 12	7×2 = 14	8×2 = 16	9×2 = 18
1×3 = 3	2×3 = 6	    3×3 = 9	    4×3 = 12	5×3 = 15	6×3 = 18	7×3 = 21	8×3 = 24	9×3 = 27
1×4 = 4	2×4 = 8	    3×4 = 12	4×4 = 16	5×4 = 20	6×4 = 24	7×4 = 28	8×4 = 32	9×4 = 36
1×5 = 5	2×5 = 10	3×5 = 15	4×5 = 20	5×5 = 25	6×5 = 30	7×5 = 35	8×5 = 40	9×5 = 45
1×6 = 6	2×6 = 12	3×6 = 18	4×6 = 24	5×6 = 30	6×6 = 36	7×6 = 42	8×6 = 48	9×6 = 54
1×7 = 7	2×7 = 14	3×7 = 21	4×7 = 28	5×7 = 35	6×7 = 42	7×7 = 49	8×7 = 56	9×7 = 63
1×8 = 8	2×8 = 16	3×8 = 24	4×8 = 32	5×8 = 40	6×8 = 48	7×8 = 56	8×8 = 64	9×8 = 72
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

2.左下三角形式九九乘法表:

for i in range(1,10):
    for j in range(1,i+1):
        print(f"{j}×{i}={i*j}",end="\t")
    print(" ")
 运行结果如下:

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

3.左上三角形式九九乘法表:

注:乘法算式按行输出,与完整格式相比,内层循环范围为i~9,当外层循环的i逐渐递增时,每行输出的算式个数会越来越少,print(" ")表示换行,不输出这句的话输出的乘法表格式错乱。

for i in range(1,10):
    for j in range(i,10):
        print(f"{i}×{j} = {i * j}", end="\t")
    print(" ")

运行结果如下:

1×1 = 1	    1×2 = 2	    1×3 = 3	    1×4 = 4	    1×5 = 5	    1×6 = 6	    1×7 = 7	    1×8 = 8	    1×9 = 9
2×2 = 4	    2×3 = 6	    2×4 = 8	    2×5 = 10	2×6 = 12	2×7 = 14	2×8 = 16	2×9 = 18
3×3 = 9	    3×4 = 12	3×5 = 15	3×6 = 18	3×7 = 21	3×8 = 24	3×9 = 27
4×4 = 16	4×5 = 20	4×6 = 24	4×7 = 28	4×8 = 32	4×9 = 36
5×5 = 25	5×6 = 30	5×7 = 35	5×8 = 40	5×9 = 45
6×6 = 36	6×7 = 42	6×8 = 48	6×9 = 54
7×7 = 49	7×8 = 56	7×9 = 63
8×8 = 64	8×9 = 72
9×9 = 81

4.右下三角形式九九乘法表:

for i in range(1,10):
    for k in range(1,10-i):
        print(end="        ") #此处七个空格
    for j in range(1,i+1):

        print("%d×%d=%2d" % (i, j, i*j), end=" ") #切记此处不能用格式化输出.format方式或者f"{}", 要用格式化输出只能pycharm中才会显示下面的样式。
    print(" ")

运行结果如下:
                                                        1×1= 1
                                                 2×1= 2 2×2= 4
                                          3×1= 3 3×2= 6 3×3= 9
                                   4×1= 4 4×2= 8 4×3=12 4×4=16
                            5×1= 5 5×2=10 5×3=15 5×4=20 5×5=25
                     6×1= 6 6×2=12 6×3=18 6×4=24 6×5=30 6×6=36
              7×1= 7 7×2=14 7×3=21 7×4=28 7×5=35 7×6=42 7×7=49
       8×1= 8 8×2=16 8×3=24 8×4=32 8×5=40 8×6=48 8×7=56 8×8=64
9×1= 9 9×2=18 9×3=27 9×4=36 9×5=45 9×6=54 9×7=63 9×8=72 9×9=81

5.右上三角形式输出九九乘法表:

注:相比左上三角形,内层循环语句多了两句,由于每个算式所占的位置为7个字节,所以多余前面空出的地方输出相应的空格数,

在Python中不能直接写print(" ")语句表示输出空格,必须添加end关键字,表示结尾以等号右边的内容输出,与后面的右上和左上的差别相似。

for i in range(1,10):
    for k in range(1,i):
        print(end="        ")  #此处8个空格
    for j in range(i,10):
        print("%d×%d=%2d" % (i, j, i * j), end=" ")#切记此处不能用格式化输出.format方式或者f"{}", 要用格式化输出只能pycharm中才会显示下面的样式。
    print(" ")

运行结果如下:
1×1= 1 1×2= 2 1×3= 3 1×4= 4 1×5= 5 1×6= 6 1×7= 7 1×8= 8 1×9= 9
       2×2= 4 2×3= 6 2×4= 8 2×5=10 2×6=12 2×7=14 2×8=16 2×9=18
              3×3= 9 3×4=12 3×5=15 3×6=18 3×7=21 3×8=24 3×9=27
                     4×4=16 4×5=20 4×6=24 4×7=28 4×8=32 4×9=36
                            5×5=25 5×6=30 5×7=35 5×8=40 5×9=45
                                   6×6=36 6×7=42 6×8=48 6×9=54
                                          7×7=49 7×8=56 7×9=63
                                                 8×8=64 8×9=72
                                                        9×9=81

6.正金字塔形式输出九九乘法表:

for i in range(1,10):
    for k in range(1,10-i):
        print(end="        ")#此处为8个字节
    for j in range(1,i+1):
        print(f"{j}×{i} = {i * j}", end="        ")#此处为8个字节
    print(" ")

运行结果如下:
                                                                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

7.倒立的金字塔形式输出九九乘法表:

for i in range(1,10):
    for k in range(1,i):
        print(end="        ")#此处8个空格
    for j in range(i,10):
        print(f"{j}×{i} = {i * j}", end="        ")#此处8个空格
    print(" ")
print("\n")
复制代码
运行结果如下:
1×1 = 1        2×1 = 2        3×1 = 3        4×1 = 4        5×1 = 5        6×1 = 6        7×1 = 7        8×1 = 8        9×1 = 9
        2×2 = 4        3×2 = 6        4×2 = 8        5×2 = 10        6×2 = 12        7×2 = 14        8×2 = 16        9×2 = 18
                3×3 = 9        4×3 = 12        5×3 = 15        6×3 = 18        7×3 = 21        8×3 = 24        9×3 = 27
                        4×4 = 16        5×4 = 20        6×4 = 24        7×4 = 28        8×4 = 32        9×4 = 36
                                5×5 = 25        6×5 = 30        7×5 = 35        8×5 = 40        9×5 = 45
                                        6×6 = 36        7×6 = 42        8×6 = 48        9×6 = 54
                                                7×7 = 49        8×7 = 56        9×7 = 63
                                                        8×8 = 64        9×8 = 72
                                                                 9×9 = 81

二:用循环打印金字塔

1.Low版金字塔

方式1

height = int(input("请输入行数:\n"))
for i in range(height):
    for j in range(i+1):
        print("* ", end='')
    print("\n")

方式2

for i in range(7):
	print(i*'*')

2.Low版倒三角金字塔

for i in range(7):
	print((7-i)*'*')

3.正常金字塔

def pyramid(n):
    for i in range(1, n):
        print(' ' * (n - (i - 1)) + '*' * (2 * i - 1))
pyramid(5)

4.倒三角金字塔

def reverse_pyramid(n):
    for i in range(n):
        print(' ' * i + (n - 2 * i) * '*')
reverse_pyramid(5)
posted @ 2020-02-29 18:00  轻描丨淡写  阅读(190)  评论(0)    收藏  举报