python用while写出金字塔_使用while循环的星金字塔python嵌套while循环

本文探讨了如何使用Python编程解决星形图案问题,通过stringformat方法和巧妙的循环结构,实现从一行一颗星到每行星数递增并保持居中对齐。涉及了中心对齐技巧和空格插入,适合初学者理解星形图案生成的底层逻辑。
摘要由CSDN通过智能技术生成

所以,让我们用算术的方法来处理这个问题。第一排需要一颗星,第二排需要两颗星,第三排需要三颗星等

换句话说,星的数目等于当前行索引(假设您的索引从1开始)。Python的string format方法允许您指定居中的字符串,并且可以用行索引乘以星,因为Python中的字符串实现乘法协议mul:i = 0

rows = 8

while i <= rows:

print("{:^8}".format("*"*i))

i += 1

这将输出以下内容:*

**

***

****

*****

******

*******

********

如你所见,这有点不平衡,但我们走的是正确的道路。它是不平衡的,因为“列”的数目是偶数,当有奇数个恒星时,它们不能居中。如果列数为奇数,则会出现完全相反的情况。

那么,我们如何将这些放在中心?有几种方法可以接近它,但我只需要在每一颗恒星之间打印一个空格,就可以使每一行恒星都变得奇怪。在这一点上,它们完全居中。

您只需再添加两个循环即可:

1)复制format()模板的空白填充

2)通过在星星之间放置一个空格来创建以“真”为中心的字符串

这可以用三个while循环来完成,但我不明白那是怎么回事。但我没有写作业:)

高温高压

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值