再做一道,把这周的任务搞定~
其实看到这道题,很熟悉,让我想起大一时被C语言支配的恐惧。那个时候不停的在push自己,给自己很大的压力。上C语言课的时候让人昏昏欲睡,但是还是逼迫自己打起精神来学习,一心想的是不落人后。。。这道题,当时用C还有点难度,记得没能很标准地解出来。现在,用python,我可以较为轻松地实现它了。
原题链接:http://www.runoob.com/python/python-exercise-example23.html
题目:打印出如下图案(菱形):
* *** ***** ******* ***** *** *
我的代码:不仅实现了这个图案,还实现了所有行数(奇数行)的菱形。
def fun(): number=int(input("How many lines you want?(odd number)")) n=int((number+1)/2) for i in range(1,n+1): print(' '*(n-i)+'*'*(i*2-1)) #print the top half part for i in range(1,n): print(' '*i+'*'*((n-1-i)*2+1))
运行结果:
fun()
How many lines you want?(odd number)9
*
***
*****
*******
*********
*******
*****
***
*
思考:这道题主要的思路是1,菱形分上下两块,用两个循环打印。2,推断出每一行打印的规律,即‘ ’和‘*’的个数规律。