You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中以金字塔形状显示文本?

问题分析与解决

你的代码逻辑错误在于嵌套循环的设计:内层for循环会逐个打印字符串的每个字符,且i在for循环内累加,导致循环执行逻辑混乱,无法按行输出前n个字符的效果。

正确实现方式

方法1:使用for循环(推荐)

利用字符串切片特性,直接截取前n个字符并打印:

inp = input('Enter something: ')
# 遍历1到字符串长度(包含)的所有整数
for n in range(1, len(inp) + 1):
    # 截取字符串的前n个字符并打印
    print(inp[:n])

方法2:使用while循环

如果偏好while循环,调整逻辑如下:

inp = input('Enter something: ')
length = len(inp)
i = 1
while i <= length:
    print(inp[:i])
    i += 1

原理说明

Python中字符串切片inp[:n]表示从字符串开头(索引0)截取到索引n-1的位置,刚好对应前n个字符。每循环一次就增加截取的长度,从而实现逐行递增的金字塔效果。

内容的提问来源于stack exchange,提问作者Adil M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 09:34:49