python绘制菱形之间空格_python如何输出菱形与空心菱形详解与巧妙地使用center方法...

首先应该了解菱形在输出时,每一行的组成有哪些规律,并且除了中间的一行,上部分和下半部分应该是对称的

这是一个我们要准备输出的一个菱形的模板 ,一共有7行 7列

我们设菱形上半部分的总行数为rows,当前输出行数为row

当row1时候,A只有1个,星号字符一共有6个,A左右分别3个;

当row2时候,A有3个,星号字符一共有4个,A左右分别2个;

当row==3的时候,A有5个,星号字符一共有2个,A左右分别1个;

由此可以总结一个规律,在菱形的上半部分,随着row的增加,A的变化依次为 1 ;3 ;5 …

星号字符因为是关于字符A对称的所有只用考虑左边或者右边,随着row的增加,星号字符的变化依次为 3 ;2 ;1 …

随着row的增加A的变化趋势应该是一个公差为2,首项为1的等差数列,项数即为row,而星号变化趋势应该总行数rows减去当前行数再加1。

这里因为菱形下部分也是类似的,A也是一个等差数列,星号字符就是当前目标行数(仅以下半部分为开始)

下面就是代码实现:

一:输出一个实心菱形

运用刚刚所讲的规律:

def PrintDiamond(n):

if n & 1 == 0: return 'error'

row =

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值