描述
读入一个整数N,N是奇数,输出由星号字符组成的等边三角形,要求:
第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号。
—————————————————————————————————————————————
输入输出示例
—————————————————————————————————————————————
解题思路
先将行数和每行所要输出的星号个数以及每一行的宽度和N之间的数量关系找出来,再用好str.center(width[,fillchar])方法以及for函数和print函数就可以了。
主要需要注意的地方是N的输入格式、i的起始值以及for i in range()的用法:
N的输入格式需要的是数字而不是字符串;
i的起始值是0而行数是从第1行开始的;
for i in range()括号中的必须为整数,且是从0开始但不包括括号中的值,终值为括号中的值减一。
—————————————————————————————————————————————
代码
N=eval(input())
for i in range((N+1)//2):
print(("*"*(i*2+1)).center(N," "))
本人为初学者,若有更好的解法可以互相交流,也希望本文章能够对你有所帮助。