zoukankan      html  css  js  c++  java
  • 打印菱形、对角三角形、闪电

    菱形

    def rhom(n):
        # 先打印上半部分
        for i in range(1, n + 1, 2):
            print(('*' * i).center(n))
    
        # 再打印下半部分
        for i in reversed(range(1, n, 2)):
            print(('*' * i).center(n))
    
    rhom(7)
    
    # 把菱形当做一个坐标系,[-3, -2, -1, 0, 1, 2, 3]
    for i in range(-3, 4):
        # 取绝对值
        x = -i if i < 0 else i
        # 先打印空白,再打印符号
        print(' ' * x + (7 - x*2) * '*')
    
       *
      ***
     *****
    *******
     *****
      ***
       *
    

    对顶三角形

    n = 7
    e = 7 // 2
    for i in range(-3, 4):
        x = -i if i < 0 else i
        # 跟上面一样,先的打印空白,再打印符号
        print(' '*(e-x) + (x*2 + 1)*'*')
    
    def vert(n):
        # 先打印上半部分
        for i in reversed(range(1, n + 1, 2)):
            print(('*' * i).center(n))
    
        # 再打印下半部分
        for i in range(3, n+1, 2):
            print(('*' * i).center(n))
    
    vert(7)
    
    *******
     *****
      ***
       *
      ***
     *****
    *******
    

    闪电

    n = 7
    e = 7 // 2
    for i in range(-3, 4):
        x = -i if i < 0 else i
        # 上半部分
        if i < 0:
            print(' '*x + '*'*(4 + i))
        # 由于这里跟上下都不一样,单独处理坐标系横轴
        elif i == 0:
            print('*' * n)
        # 下半部分,先打印空白,这里空白字符长度都是7//2,再打印符号
        else:
            print(' '*e + '*'*(4 - i))
    
       *
      **
     ***
    *******
       ***
       **
       *
    
  • 相关阅读:
    JZOJ 5870 地图
    20190921
    20190919
    SP703 SERVICE
    UVA323 Jury Compromise
    [note]一类位运算求最值问题
    [BZOJ3674]可持久化并查集
    [luogu3359]改造异或树
    [luogu4755]Beautiful Pair
    [BJWC2012]冻结
  • 原文地址:https://www.cnblogs.com/keithtt/p/9418615.html
Copyright © 2011-2022 走看看