提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
由于最近在重新学习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格式化输出的方法打印菱形