**问题描述**
- 读入一个整数N,N是奇数,输出由星号字符组成的等边三角形,要求:第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号。(代码不超过3行)
- 输出样例:
输入示例 输出示例
3 *
***
**思路分析:**
- 首先我们用eval()函数得到输入的正整数;代码不超过三行,那么我们优先考虑循环输出。
- 要求:第1行1个星号,第2行3个星号,第3行5个星号。每次递增2,可以用步长2实现。
- 输出要求居中输出,我们只要控制输出的格式,居中且知道长度即可。长度就是输入的n
分析清楚问题,代码就很好实现了。如下:
# 星号三角形
n = eval(input()) # 用eval()函数得到输入的整型整数
for i in range(1, n+1, 2): # 输出是从1个*开始的,要把开始数定为1;一直遍历到n,每次递增2
print("{0:^{1}}".format("*" * i, n)) # 有两个槽,要用0和1来指代清楚位置:0号槽规范*的格式,1号槽代表最长*的长度
输入示例 输出示例
5 *
***
*****