学习
实践
活动
专区
工具
TVP
写文章

一知半解讲python第二季:3.空心等腰三角形

最近太忙了,终于有点时间能更新一下小号了!

今天讲一道循环综合练习题输出空心等腰三角形。

要求:

输入一个正整数n,输出相应行数的*和空格,组成如图的空心等腰三角形。

分析:

此题主要是对循环结构的综合运用,对于初学者来说是较难的一道题,因为涉及到多重循环、问题分解和找规律。

通过观察可以将图形分为红线分隔得三部分,输出图形的时候即可根据这三部分进行分别输出。左侧部分空格的数量和行数的关系为n-i;右侧部分从第二行开始,空格数量为2*n-3;下面部分*的数量为2*n+1。

在输出时需要先输出前n-1行,而且每行是先输出左侧再输出右侧,因此循环层次关系和循环变量之间的关系需要分清。

具体分析解释请看视频吧,视频是用c++代码讲解的,应该能听明白。

这道题用python写比c++麻烦,但涉及到一个新知识。

python代码

n=eval(input("please input row number: "))

for i in range(1,n):

for j in range(1,n-i+1):

print(" ",end=" ")

#end=“”是在python3中用print实现输出后不换行的命令,python2中是print(" "),也就是麻烦在这个地方了

print("*",end=" ")

for k in range(1,2*i-2):

print(" ",end=" ")

print("*",end=" ")

print()

for i in range(1,2*n):

print("*",end=" ")

c++代码

#include

using namespace std;

int main()

{

int i,j,k,n;

for(i=1;i

{

for(j=n-i;j>=1;j--) cout

cout

{

for(k=1;k

cout

}

cout

}

for(i=1;i

return 0;

}

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181029G15IF500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券