码迷,mamicode.com
首页 > 其他好文 > 详细

打印菱形、对角三角形、闪电

时间:2018-08-04 15:05:26      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:rev   pre   ever   class   处理   enter   ext   绝对值   长度   

打印一个菱形

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)*‘*‘)
*******
 *****
  ***
   *
  ***
 *****
*******

打印闪电

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))
   *
  **
 ***
*******
   ***
   **
   *

打印菱形、对角三角形、闪电

标签:rev   pre   ever   class   处理   enter   ext   绝对值   长度   

原文地址:https://www.cnblogs.com/keithtt/p/9418615.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!