程序源码:
n = int(input("输入要显示的层数:"))
#输出上面部分
for i in range(n):
print(' ' * (n - i-1), end="")
for j in range(2 * i+1):
print('*', end="")
print()
#输出下面部分
for i in range(n-1):
print(' ' * (i+1), end="")
for j in range(2*(n-(i+1))-1):
print('*', end="")
print()
运行结果:
输入要显示的层数:10
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
*****************
***************
*************
***********
*********
*******
*****
***
*
提供一个C++的写法,非常简单。
#include <iostream>
#include <string>
using namespace std;
int main()
{
for (int i = 0; i < 10; ++i)
cout << string(10 - i, ' ') << string(2 * i + 1, '*') << endl;
for (int i = 8; i >= 0; --i)
cout << string(10 - i, ' ') << string(2 * i + 1, '*') << endl;
return 0;
}
// Output
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
*****************
***************
*************
***********
*********
*******
*****
***
*