AI题解7

#1043:【循环嵌套】字符图形4-星号正三角


时间限制: 1000 ms         内存限制: 65536 KB
提交数: 84     通过数: 49

【题目描述】

输入一个整数打印字符图形

【输入】

一个整数(0<N<10)

【输出】

一个字符图形

【输入样例】

3

【输出样例】

  * 
 ***
*****

提交 统计信息 提交记录


本网站属公益、非盈利性质,仅适当接受少量赞助以支持网站的运行维护。
蜀ICP备2024068936号-2  联系我们: 248801752@qq.com  23967609@qq.com

要解决这个问题,我们需要根据输入的整数N打印一个由星号(*)组成的正三角形。这个正三角形的特点是每一行的星号数量遵循奇数序列(1, 3, 5,...),并且每一行的星号需要居中对齐,即前面用适当数量的空格填充。

### 方法思路
1. **分析问题**:对于输入的整数N,输出的正三角形有N行。第i行(从1开始计数)有2i-1个星号,并且前面有N-i个空格。例如,当N=3时:
   - 第一行有2*1-1=1个星号,前面有3-1=2个空格,输出"  *"。
   - 第二行有3个星号,1个空格,输出" ***"。
   - 第三行有5个星号,0个空格,输出"*****"。
   
2. **循环嵌套**:使用外层循环控制行数,内层循环控制每行的空格和星号数量。具体步骤:
   - 外层循环从1到N,每次处理一行。
   - 内层第一个循环打印空格,数量为N-i。
   - 内层第二个循环打印星号,数量为2i-1。

### 解决代码
```python
n = int(input())
for i in range(1, n+1):
    # 打印空格
    for j in range(n - i):
        print(' ', end='')
    # 打印星号
    for k in range(2 * i - 1):
        print('*', end='')
    # 换行
    print()
```

### 代码解释
1. **输入处理**:读取整数N,表示三角形的行数。
2. **外层循环**:`for i in range(1, n+1)`,控制行数,从1到N。
3. **打印空格**:内层循环`for j in range(n - i)`打印N-i个空格,确保星号居中对齐。
4. **打印星号**:内层循环`for k in range(2 * i - 1)`打印2i-1个星号,形成三角形的每一行。
5. **换行**:每行打印完空格和星号后,调用`print()`换行到下一行。

通过这种方法,我们可以逐行构建所需的星号正三角形,确保每一行的星号数量正确且居中对齐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值