首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python——for 循环实现空心菱形

今天用for循环实现空心菱形!

代码如下:

源代码图

效果图

解释代码如下:

102行提示用户输入一个num值。

103行是三个变量初始值,做循环次数用的。

104行是一个输入整数num以获取菱形大小的命令,num的值确定了菱形的大小。

105行 i 的取值是从 0-num(不包含num)的,i 控制菱形上半部分的行数,由效果图我们可以看出,上半部分总共有6行(最中间那一行我们放在菱形下半部分,一会详细说)

106行 107行 : j 控制空格的多少,当 i =0时,j 取值是 0-6(不包含6),循环打印空格,因此效果图中第一行有6个空格,!!输入完6个空格之后光标停留在第6个空格之后!!

108行 在6个空格之后输入一个*,!!光标在*之后!!

剩下109行-113行一起讲:

109行-103行控制菱形上半部分* 的个数,109行中,当 i =0 时,k=-1,此时循环没啥意义,也就是说110行不作任何输出,111-112也不做任何事,因为不符合条件啊。113行输入的是一个空字符,其作用是换行,执行这一步之前光标在第6补那里,当执行113行后光标换到下一行,此时 i=0时,菱形上半部分循环完毕。接下来是i= 1时的循环,i=1时,106行j=5,107行循环输入5个空格,108行输入一个*,!!光标在*之后!!109行k=1,109行控制的循环是输入一个空格(k等于几就输入几个空格!)光标在空格之后,110行满足条件所以112行输入一个* 113行换行,此时光标在下一行(进行i=2时的循环,大家自己走一遍流程)

菱形的下半部分走的流程和上半部分一样。有不懂的可以私信我!

附上源码:

print('print a num is 1-10')

i=j=k=0

num =int(input())

for i in range(0,num):

for j in range(num-i):

print(' ',end='')

print('*',end='')

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

print(' ',end='')

print('*',end='')

print('')

for i in range(0,num+1):

for j in range(i):

print(' ',end='')

print('*',end='')

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

print(' ',end='')

print('*',end='')

print('')

附上作者帅照和工作日常:

作者帅照

工作日常

零基础小白到大神之路,欢迎加裙 四七四五三四九五一,群里有免费python课程,还有大量干货哦

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券