为了账号安全,请及时绑定邮箱和手机立即绑定

Python打印菱形的代码,似懂非懂,没看出来具体是什么思路。

Python打印菱形的代码,似懂非懂,没看出来具体是什么思路。

风云ICT 2017-08-10 23:14:35
rows = int(input("请输入行数(奇数):")) i = 1 while i<=rows:     if i<=rows/2+1:         j = rows // 2         x = 1         while j>=i:             print(" ",end="")             j-=1         while x<= 2*(i-1)+1:             print("*",end="")             x+=1         print("")     else:         z = 1         y = (rows-i+1)*2-1         while z <= i-(rows//2+1):             print(" ",end="")             z+=1         while y > 0:             print("*",end="")             y-=1         print()     i+=1我只知道通过判断打印上部分和下部分,没搞明白空格那些是什么计算思路,求大神帮忙理一下思路。
查看完整描述

3 回答

?
慕桂英4516509

TA贡献12条经验 获得超14个赞

其实我更熟悉Python 2

查看完整回答
1 反对 回复 2017-08-17
?
慕桂英4516509

TA贡献12条经验 获得超14个赞

第24,13行是换行

查看完整回答
1 反对 回复 2017-08-17
?
慕桂英4516509

TA贡献12条经验 获得超14个赞

菱形:◇

  • i代表行数,每打一行加1,当i超过用户输入的行数(rows),停止程序   //while 部分

  • 如果还在打印上半部分,                                                                          //if 部分

  • 就打印空格数(第一行空格数是rows // 2,然后递减)(可以自己画画)//空格while 部分

  • ........................................

  • 下半部分空格:下半部分包括中间一行,所以行数为rows // 2 + 1;

                               而i - (rows // 2 + 1),就是下半部分空格数的规律;

  • 重要是拿张草稿纸,自己画一画,找找规律


查看完整回答
1 反对 回复 2017-08-17
  • 3 回答
  • 0 关注
  • 3172 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信