python下输入一个正奇数后打印出镂空的菱形

python下输入一个正奇数后打印出镂空的菱形

先上代码和效果图:

代码
输出效果为一个17行的菱形,菱形边为符号( * ) ,图形内外均使用空格填充。
写代码时的思路是按循环生成每一行居中的字符串, 也就是符号( * )和空格组成的字符串 , 空格填充 , 然后循环打印, 得到每一行的效果 。
代码中最难处理的部分是如何在较少代码量和判断语句的情况下生成第一行的样式.
这里用到了bool, 先考虑上三角部分, 第一行字符串只有一个( * )符号,没有第二个符号也没有空格, 而第一行与其他行的区别就是他循环时的 i 值为零 ,其他行不为零, 在
bool( int ) 下就得到第一行为零,其他行全为1。把bool值分别乘上第二个( * )符号和中间的空格表达式,即 " * " + " " * bool(i)+ " * " * bool(i)。其中i为循环中的值。
后面便是字符串居中填充,center(字符串加填充总长度,填充内容)。下三角便是将说三角的循环反过来,当然,范围要调整一下使得循环到最后时,最后一行的
bool(i)为零。

效果图

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值