Python 专题

【Python】简单输出一些图案

2022-04-26  本文已影响0人  Alex是大佬

风车

样式


代码

思路一:分成五个部分 最上边一行,中间一行,最下边一行,中间剩余的两个部分

思路二:两层循环,满足条件,输出*,否则输出空格

while True:
    try:
        n = int(input())
        print("*" + " " * (n - 2) + "*" * n)
        for i in range(n - 2):
            print("*" + " " * i + "*" + " " * (n - 3 - i) + "*" + (n - 3 - i) * " " + "*")
        print("*" * (2 * n - 1))
        for i in range(n - 2):
            print(" " * (n - 2 - i) + "*" + " " * i + "*" + " " * i + "*" + (n - 3 - i) * " " + "*")
        print(n * "*" + (n - 2) * ' ' + "*")
    except:
        break

菱形

样式


代码

while True:
    try:
        n = int(input())
        for i in range(1, n + 1):
            print(" " * (n - i + 1) + "* " * i)
        for i in range(n + 1, 0, -1):
            print(" " * (n - i + 1) + "* " * i)
    except:
        break

X型

样式


代码

while True:
    try:
        n = int(input())
        for i in range(n):
            for j in range(n):
                if i == j or i + j + 1 == n:
                    print('*', end="")
                else:
                    print(' ', end="")
            print()
    except:
        break

K型

样式


代码

while True:
    try:
        n = int(input())
        for i in range(n + 1, 0, -1):
            print("* " * i + " " * (n - i + 1))
        for i in range(2, n + 2):
            print("* " * i)
    except:
        break

箭型

样式


代码

while True:
    try:
        n = int(input())
        for i in range(n + 1, 0, -1):
            print(" " * 2 * (i - 1) + "*" * (n + 2 - i))
        for i in range(n, 0, -1):
            print(" " * 2 * (n - i + 1) + "*" * i)
    except:
        break

等边三角形

样式


代码

while True:
    try:
        n = int(input())
        for i in range(n + 1, 0, -1):
            print(" " * 2 * (i - 1) + "*" * (n + 2 - i))
        for i in range(n, 0, -1):
            print(" " * 2 * (n - i + 1) + "*" * i)
    except:
        break

空心正方形

样式


代码

while True:
    try:
        n = int(input())
        print("* " * n)
        for i in range(n - 2):
            print("* " + " " * 2 * (n - 2) + "* ")
        print("* " * n)
    except:
        break

空心直角三角形

样式


代码

while True:
    try:
        n = int(input())
        for i in range(1, n + 1):
            for j in range(1, n + 1):
                if i == j or j == 1 or i == n:
                    print('* ', end='')
                else:
                    print('  ', end='')
            print()
    except:
        break

数字三角形

形状


代码

while True:
    try:
        n = int(input())
        for i in range(1, n + 1):
            for j in range(1, i + 1):
                print(f"{j} ", end="")
            print()
    except:
        break

圣诞树

形状


代码

a = "  *   "
b = " * *  "
c = "* * * "
d = " " * 3
while True:
    try:
        n = int(input())
        for i in range(1, n + 1):
            print(d * (n - i) + a * i)
            print(d * (n - i) + b * i)
            print(d * (n - i) + c * i)
        w = 6 * n - 1
        for i in range(n):
            print("*".center(w))
    except:
        break

超级圣诞树

形状


代码

while True:
    try:
        h = int(input())
        l = ["*", "* *", "* * *"]
        for i in range(h - 1):
            n = len(l)
            for j in range(n):
                l.append(l[j] + " " * (2 * n - 1 - 2 * j) + l[j])
        w = 6 * 2 ** (h - 1) - 1
        for i in range(len(l)):
            print(l[i].center(w))
        for i in range(h):
            print("*".center(w))
    except:
        break
上一篇下一篇

猜你喜欢

热点阅读