1.正三角形
a=int(input('n')) for i in range(1,a+1): s=a-i for j in range(0,s): print(" ",end="") for k in range(i*2-1): print('*',end="") print()
设计思路:
- 确定输入行数
- 判断第一个字符距离左边界多少个空格
- 判断星号()与行数之间的对应关系(行数2-1)
- 每一行输出之后需要换行
2.倒三角
a=int(input('n')) for s in range(a,0,-1): for k in range(0,a-s): print(" ",end='') for c in range(s*2-1): print("*",end="") print()
3.菱形
a=int(input('n')) for i in range(1,a+1): s=a-i for j in range(0,s): print(" ",end="") for k in range(i*2-1): print('*',end="") print() for s in range(i-1,0,-1): for k in range(0,a-s): print(" ",end='') for c in range(s*2-1): print("*",end="") print()
设计思路
- 菱形的本质可以看做两个三角形拼接而成(一个正三角与一个倒三角)
- 需要注意的是输出倒三角的时候应该把第一行去掉(i-1)不然回出现多一行的情况
- 倒三角的空格控制可以借助输入的行数来减去第一个循环
4打印镂空的菱形
a=int(input('n')) for i in range(1,a+1): s=a-i for j in range(0,s): print(" ",end="") for k in range(i*2-1): if k==0 or k==i*2-2: print('*',end="") else: print(' ',end="") print() for s in range(i-1,0,-1): for k in range(0,a-s): print(" ",end='') for c in range(s*2-1): if c==0 or c==s*2-2: print('*',end="") else: print(' ',end="") print()
如图
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)