python怎么打印菱形


本文摘自php中文网,作者爱喝马黛茶的安东尼,侵删。

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

第一种

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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

输出结果:

1

2

3

4

5

6

7

8

9

10

11

请输入菱形边长:

5

    *

   * *

  * * *

 * * * *

* * * * *

 * * * *

  * * *

   * *

    *

相关推荐:《Python视频教程》

第二种

1

2

3

4

5

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

输出结果:

1

2

3

4

5

6

7

   *  

  *** 

 *****

*******

 *****

  *** 

   *

第三种

1

2

3

4

5

6

7

8

9

10

11

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)

输出结果:

1

2

3

4

5

6

7

8

9

    *

   ***

  *****

 *******

*********

 *******

  *****

   ***

    *

以上就是python怎么打印菱形的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python基础学习总结(四)

浅谈Python中字典和散列表以及散列冲突的解决

Python怎么卸载第三方库

Python为什么这么火?

关于Python中legb与闭包以及装饰器的具体讲解

Python数据分析用什么工具

django中使用定时任务的两种方法介绍

Python为什么工资高

sqlalchemy的实例介绍

如何修改Python字典内的值?2种修改Python字典内的值方法总结

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...