时间:2020-12-06 10:09:52 | 栏目:Python代码 | 点击:次
我就废话不多说了,还是直接看代码吧!
width = 11 #注意宽度必须位奇数 for i in range(-width//2,width//2+1): prespace=i if i>0 else -i print(' '*prespace+'*'*(width-prespace*2))
运行结果:
* *** ***** ******* ********* *********** ********* ******* ***** *** *
补充知识:Python打印高度为2 * n + 1,宽度为 2 * n + 1的菱形,输出一个由'*'组成的菱形,空白的地方用'.'表示。
很感谢百度和各类的问答平台,CSDN在其中占得多数的,帮我解决了一道又一道的难题,所以我来报恩来了。分享我做过的题,得到的知识点,希望可以帮助到在代码世界里苦苦挣扎又不能放弃的同类人。
今天分享我昨天做过的一道题,折磨我两天,但是大佬只用了两分钟。说实在的,还是读书太少。
1.给出一个n,请小明帮忙打印高度为2 * n + 1,宽度为 2 * n + 1的菱形。每次输入一个整型n(1 <= n <= 30)。输出一个由'*‘组成的菱形,空白的地方用'.'表示。
大佬讲用线性规划,控制直角坐标法。
如图:
n=int(input("")) for i in range(2*n+1): for j in range(2*n+1): if i<=j+n and i>=j-n and i<=3*n-j and i>=n-j: print("*",end="") else: print(".",end="") print()
2.给出一个n,打印4个边长为n的等腰直角三角形,分别分布在(2 * n + 1) * (2 * n + 1) 的正方形的四个角落
每次输入一个整型n(1 <= n <= 30)。输出一个由'.‘组成的菱形,空白的地方用'*'表示。
for i in range(2*n+1): for j in range(2*n+1): if i<=j+n and i>=j-n and i<=3*n-j and i>=n-j: print(".",end="") else: print("*",end="") print()