python:打印菱形(根据用户输入,控制菱形大小)

系统 2566 0

之前看网上的打印菱形很多都看不懂,所以自己用最基础的for来写一个打印菱形代码。

题目要求为:

编写程序,完成以下图形的输出

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

            
          

具体思路:将菱形分为上下两部分,上部分为5行,下部分为4行,分别使用for,进行操作

具体代码:

            
              
                #打印正三角
              
              
i 
              
                =
              
              
                1
              
              
                #i为前半行每行的*的个数,range取1-11,从1开始可取的数字均为奇数
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                1
              
              
                ,
              
              
                12
              
              
                ,
              
              
                2
              
              
                )
              
              
                :
              
              
                #打印*,并将*居中,center后的数值为菱形最长的部分长度
              
              
                print
              
              
                (
              
              
                (
              
              
                '*'
              
              
                *
              
               i
              
                )
              
              
                .
              
              center
              
                (
              
              
                11
              
              
                )
              
              
                )
              
              
                #打印倒三角,倒三角第一行为9个*
              
              
j 
              
                =
              
              
                9
              
              
                #j为倒三角每行的*的个数,
              
              
                for
              
               j 
              
                in
              
              
                range
              
              
                (
              
              
                9
              
              
                ,
              
              
                0
              
              
                ,
              
              
                -
              
              
                2
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                (
              
              
                '*'
              
              
                *
              
              j
              
                )
              
              
                .
              
              center
              
                (
              
              
                11
              
              
                )
              
              
                )
              
            
          

要想根据用户输入控制菱形的大小,我们假设用户输入的数据位正三角的行数,则代码可以写成以下形式:

            
              
                def
              
              
                Rhombus
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                #创建一个函数,命名为Rhombus
              
              
    i
              
                =
              
              
                1
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                1
              
              
                ,
              
              
                2
              
              
                *
              
              n
              
                ,
              
              
                2
              
              
                )
              
              
                :
              
              
                #正三角的行数为n,第n行的*的个数为2*n-1
              
              
                print
              
              
                (
              
              
                (
              
              
                '*'
              
              
                *
              
               i
              
                )
              
              
                .
              
              center
              
                (
              
              
                2
              
              
                *
              
              n
              
                -
              
              
                1
              
              
                )
              
              
                )
              
              
    
    j 
              
                =
              
              
                2
              
              
                *
              
              n
              
                -
              
              
                3
              
              
                for
              
               j 
              
                in
              
              
                range
              
              
                (
              
              
                2
              
              
                *
              
              n
              
                -
              
              
                3
              
              
                ,
              
              
                0
              
              
                ,
              
              
                -
              
              
                2
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                (
              
              
                '*'
              
              
                *
              
              j
              
                )
              
              
                .
              
              center
              
                (
              
              
                2
              
              
                *
              
              n
              
                -
              
              
                1
              
              
                )
              
              
                )
              
              

n 
              
                =
              
              
                int
              
              
                (
              
              
                input
              
              
                (
              
              
                'please input your number:'
              
              
                )
              
              
                )
              
              
Rhombus
              
                (
              
              n
              
                )
              
              
                #调用函数
              
            
          

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论