用python实现打印各种图形总结(包括等腰三角形,菱形,近似圆等)(Python经典编程案例)

1. 打印等腰三角形

用python实现打印各种图形总结(包括等腰三角形,菱形,近似圆等)(Python经典编程案例)_第1张图片

lines = int(input("输入要打印的行数:"))
for i in range(lines):
    for j in range(0, lines - i):
        print(end=" ")
    for k in range(2 * i + 1):
        print("*", end="")
    print()

执行结果如下图:
用python实现打印各种图形总结(包括等腰三角形,菱形,近似圆等)(Python经典编程案例)_第2张图片

2. 打印菱形
lines = int(input("输入要打印的行数(奇数):"))
if lines % 2 == 0:
    print('请输入奇数')
    import sys
    sys.exit(0)
half_lines = lines // 2 + 1
# 打印上半
for i in range(half_lines):
    print(" " * (half_lines - i), end="")
    print("*" * (2 * i + 1))
# 打印下半
for i in range(half_lines - 1):
    print(" " * (i + 2), end="")
    print("*" * (lines - 2 - 2 * i))

执行结果如下图:
用python实现打印各种图形总结(包括等腰三角形,菱形,近似圆等)(Python经典编程案例)_第3张图片

3. 打印空心菱形
lines = int(input("输入要打印的行数(奇数):"))
if lines % 2 == 0:
    print('请输入奇数')
    import sys
    sys.exit(0)
half_lines = lines // 2 + 1
# 打印上半
for i in range(half_lines):
    print(" " * (half_lines - i), end="")
    if i == 0:
        print("*")
    else:
        print("*", end="")
        print(" " * (2 * i - 1), end="")
        print("*")
# 打印下半
for i in range(half_lines - 1):
    print(" " * (i + 2), end="")
    if i == half_lines - 2:
        print("*")
    else:
        print("*", end="")
        print(" " * (lines - 4 - 2 * i), end="")
        print("*")

执行结果如下图:
用python实现打印各种图形总结(包括等腰三角形,菱形,近似圆等)(Python经典编程案例)_第4张图片

4. 打印近似圆
radius = int(input("请输入半径: "))
for i in range(2 * radius + 1):
    half = round((radius ** 2 - (radius - i) ** 2) ** 0.5)
    print("  " * (radius - half), end="")
    print("*", end="")
    print("  " * half * 2, end="")
    print("*")

执行结果如下图所示:
用python实现打印各种图形总结(包括等腰三角形,菱形,近似圆等)(Python经典编程案例)_第5张图片

5. 附加

用python实现打印各种图形总结(包括等腰三角形,菱形,近似圆等)(Python经典编程案例)_第6张图片

lines = int(input("请输入一半的行数: "))
# 打印上半
for i in range(lines):
    print("-" * (lines * 2 - 2 - 2 * i), end="")
    my_list = []
    for j in range(i + 1):
        my_list.append(chr(96 + lines - j))
    for j in range(i):
        my_list.append(chr(ord(my_list[-1]) + 1))
    print('-'.join(my_list), end="")
    print("-" * (lines * 2 - 2 - 2 * i))
# 打印下半
for i in range(lines - 1):
    print("-" * (2 * (i + 1)), end="")
    # 换一种方式初始化list列表
    my_list = [chr(96 + lines - j) for j in range(lines - 1 - i)]
    for j in range(lines - 2 - i):
        my_list.append(chr(ord(my_list[-1]) + 1))
    print('-'.join(my_list), end="")
    print("-" * (2 * (i + 1)))

执行结果如下图:
用python实现打印各种图形总结(包括等腰三角形,菱形,近似圆等)(Python经典编程案例)_第7张图片

你可能感兴趣的:(python经典编程案例)