• 技术文章 >后端开发 >Python教程

    python怎么打印菱形

    爱喝马黛茶的安东尼爱喝马黛茶的安东尼2019-06-25 14:29:57原创6439

    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怎么打印菱形的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:python怎么打菱形
    上一篇:python程序员待遇如何 下一篇:为何选择python进行数据分析
    千万级数据并发解决方案

    相关文章推荐

    • python怎么合并列表• Python字典怎么从小到大输出• python怎么求加到n项和• python中怎么实现星星排列
    1/1

    PHP中文网