求助:编写指定阶数楼梯图案绘制程序的代码问题
调试后的楼梯图案绘制代码
你的代码存在几个问题:
- 语法错误:最后一行
print("_"*(i+5))缺少闭合的右括号,会直接导致程序报错。 - 逻辑错误:循环次数和符号顺序不对,比如中间行应该是
|_而非_|,且当输入为1时会输出多余的行。 - 底部横线长度计算错误:底部横线的长度应该和台阶数成正比,而非基于循环变量的固定偏移。
以下是修正后的完整代码:
num_steps = int(input("How many steps? ")) # 打印顶部的台阶 print("__") # 打印中间的台阶部分(只有当台阶数大于1时才需要) for i in range(1, num_steps): # 每行的空格数是2*i,然后是|_ print(" " * (2 * i) + "|_") # 打印底部的横线和竖线 print("_" * (2 * num_steps) + "|")
代码说明:
- 顶部行:固定打印
__,对应楼梯的最顶端。 - 中间行:当台阶数大于1时,循环
num_steps-1次,每行的空格数按2*i递增(i从1开始),确保每级台阶向右缩进2个字符,然后输出|_构成台阶的侧面和前沿。 - 底部行:用
2*num_steps个下划线构成底部的水平横线,最后加上|完成楼梯的收尾,确保长度和台阶数匹配(比如输入4时是8个下划线,输入1时是2个下划线)。
测试输入4时的输出:
How many steps? 4 __ |_ |_ |_ ________|
测试输入1时的输出:
How many steps? 1 __ __|
内容的提问来源于stack exchange,提问作者Ellis gray
相关产品推荐
相关产品推荐

