欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

python怎么打印菱形

程序员文章站 2022-04-27 09:57:05
...
python怎么打印菱形

python怎么打印菱形?下面给大家带来三种方法:

第一种

rows = int(input('请输入菱形边长:\n'))
row = 1
while row <= rows:
    col = 1     # 保证每次内循环col都从1开始,打印前面空格的个数
    while col <= (rows-row):  # 这个内层while就是单纯打印空格
        print(' ', end='')  # 空格的打印不换行
        col += 1
    print(row * '* ')  # 每一行打印完空格后,接着在同一行打印星星,星星个数与行数相等,且打印完星星后print默认换行
    row += 1
 
bottom = rows-1
while bottom > 0:
    col = 1     # 保证每次内循环col都从1开始,打印前面空格的个数
    while bottom+col <= rows:
        print(' ', end='')  # 空格的打印不换行
        col += 1
    print(bottom * '* ')  # 每一行打印完空格后,接着在同一行打印星星,星星个数与行数相等,且打印完星星后print默认换行
    bottom -= 1

输出结果:

请输入菱形边长:
5
    * 
   * * 
  * * * 
 * * * * 
* * * * * 
 * * * * 
  * * * 
   * * 
    *

相关推荐:《Python视频教程

第二种

s = '*'
for i in range(1, 8, 2):
    print((s * i).center(7))
for i in reversed(range(1, 6, 2)):
    print((s * i).center(7))

输出结果:

   *   
  ***  
 ***** 
*******
 ***** 
  ***  
   *

第三种

def stars(n):
    RANGE1 = [2*i+1 for i in range(n)]
    RANGE2 = [2*i+1 for i in range(n)[::-1]][1:]
    RANGE = RANGE1 + RANGE2
    RANGE_1 = [i for i in range(n)[::-1]]
    RANGE_2 = [i for i in range(n)[1:]]
    RANGE_12 = RANGE_1 + RANGE_2
    for i in range(len(RANGE)):
        print (' '*RANGE_12[i] + '*'*RANGE[i])
if __name__ ==  "__main__":
    stars(5)

输出结果:

    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *

以上就是python怎么打印菱形的详细内容,更多请关注其它相关文章!

相关标签: python怎么打菱形