Python打印菱形的第四种方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、难点
  • 二、策略
  • 总结


前言

由于最近在重新学习Python,学完条件语句与循环语句之后,遇到的第一个练习题就是如何打印菱形,题目就不赘述了,请看前面一篇文章,前面文章中采用了三种策略进行菱形打印,今天在学习字符串方法是有学到format格式化输出,于时产生了用格式化输出打印菱形的想法。


一、难点

在我前面的打印策略中,难点主要有两个,一个是找到行号与空格之间的关系,另一个是找到行号与星星之间的关系,最后采用的字符串的方法可以忽略空格的问题,同样format格式化输出也可以忽略空格的问题

二、策略

x=int(input('请输入菱形的行数(必须是奇数):'))
j=x//2#取菱形的中间行,因为菱形中间行星星的个数是Python控制台输入的数字,且没有空格
#打印上半部分
for i in range(1,j+2):
    print('{:^{num}}'.format('*'*(2*i-1),num=x))
#打印下半部分
while j>=1:
    print('{:^{num}}'.format('*'*(2*j-1),num=x))
    j=j-1
输出结果:
请输入菱形的行数(必须是奇数):11
     *     
    ***    
   *****   
  *******  
 ********* 
***********
 ********* 
  *******  
   *****   
    ***    
     *     

关于字符串方法将会在后续的文章介绍

总结

主要采用字符串format格式化输出的方法打印菱形

你可能感兴趣的:(Python基础,python,开发语言,前端,人工智能,网络)