1.题目
输入*,输出字符三角形,如下所示
*
***
*****
2.方法一思路
方法一就是直接输出输出的符号
a=input()
print(" "+a)
print(" "+a+a+a)
print(a+a+a+a+a)
从代码中可以看到,第二行和第三行输出中,a是重复的,使用加号表示的是运算符中将a拼接在一起。还可以使用a*3,表示输出3个a,如下所示
a=input()
print(" "+a)
print(" "+a*3)
print(a*5)
3.第三种方法for循环
确实直接输出是很方便的,但是上一次完成了B2025,所以在考虑能否也是用for循环
文章在此:B2025 输出字符菱形
解释一下思路:
第一行输出1个*
第二行 3个*
第三行 5个*
一共是输出3行
-
空格数2 1 0
考虑使用 range(-2,1)刚好是3个数且数字为2 1 0,循环输出使用end=""拼接为一行的空格 -
*个数为1 3 5,最小值为1,最大值为5
最大值为5,第三行范围应该是(0,5)
第二行为3,第二行是(2,5)
第一行为1,第二行是(4,5)
发现前一个数刚好是abs(i)*2
a=input()
for i in range(-2,1):
for j in range(abs(i)):
print(" ",end="")
for j in range(abs(i)*2,5):
print(a,end="")
print("")
4.总结
在昨晚B2025之后再来做这道题目,觉得思路清晰多了,一开始看B2025的时候还是云里雾里的——棒!