python500题:嵌套循环图形沙漏。
猎风老师的习题课。
大家好,下面来看一下嵌套循环图形输出的沙漏这道题目。要求从键盘输入一个整数n,然后输出一个n行的沙漏形状。这个沙漏形状其实就是之前的正三角形,上下对称的,所以只要掌握正三角形的技巧就可以完成沙漏。
正三角图形的输出关键就是输出n-i个空格和2*1-1个星号。如果是倒三角,把外层的循环改成倒序的就可以了。下面开始编写程序。
·首先从键盘输入一个整数n,得运动一个。
·然后先画沙漏的上半部分,就是一个倒三角形。但是倒三角形的行是总行数的一半,但是多一个。比如是5的时候先画上半部分,就是3个。所以首先把输入的行取半,整除2然后加1,这样就可以画上半部分。
·然后就使用倒三角的方法,for i in range。外面是1到n n行,里面首先要打n减i个空格。来一个for jin range,1到n减i加1,打印空格。
·然后再输2*1-1个星号,forj in range一到两倍的i输出星号。
·然后再来一个换行,先自测一下,这样就完成上半部分。比如输入一个5进行自测,发现这个三角是正三角,所以要把它改成倒的,就改成n到0,每次减1,这样上半部分的倒三角就完成了。
·下半部分是个正三角,把这个代码再复制一下,然后把它改成正循环的1到n+1,里面的不用变。
·再自测一下,会发现中间的一个星号多输了一遍,只要把这个地方从2开始,第一个星号不要,再运行自测。
沙漏完成,递交正确。