题目描述
读入一个整数N,N是奇数,输出由星号字符组成的等边三角形,要求:
第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号。
(题目来源:https://python123.io 北京理工大学嵩天教授的python程序设计课程)
解答1
n = eval(input())
for i in range (n):
for j in range(n - i):
print(" ", end = "")
for k in range (2 * i - 1):
print("*", end = "")
for q in range (n - i):
print(" ", end = "")
print()
解答2
对解答1的改进,利用print自动填充format,就可以取消全部3个内循环,改善了程序执行效率。
n = eval(input())
m = n * 2 - 1
formatstring = "{: ^%d}" % m
for i in range(1, n + 1, 1):
print(formatstring.format((2 * i - 1) * "*"))