我是编程新手,并试图在python中创建一个程序,根据用户输入创建一个大小的楼梯。该程序应如下所示:
这是我到目前为止的代码;
steps = int(input('How many steps? '))
print('__')
for i in range(steps):
n = steps+i
print(' '*(n-2) + '|_')
print('_'*n + '|')
这就是我的输出;
注意 - 水平线是下划线'_',垂直线是竖线字符'|'。
答案 0 :(得分:1)
要获得正确数量的步骤,您必须将for循环更改为:
for i in range(steps-1):
这是因为您希望打印|_
的时间少于步骤;您的“最高”步骤__
已经算作一步了。
整个事情(更改了其他一些内容以使格式更好):
steps = int(input('How many steps? '))
print('__')
for i in range(steps-1):
print(' '*(2+2*i) + '|_')
print('_'*2*steps + '|')
输出:
答案 1 :(得分:0)
更简单的考虑n
是当前步骤并给出步长(2),那么您只需要2n
作为展示位置:
steps = 5
print('__')
for n in range(1, steps):
print(' '*n*2 + '|_')
print('_'*steps*2 + '|')
输出:
__
|_
|_
|_
|_
__________|
您可以将其抽象为任何步长,例如:
steps = 5
size = 4
print('_'*size)
for n in range(1, steps):
print(' '*n*size + '|' + '_'*(size-1))
print('_'*steps*size + '|')
输出:
____
|___
|___
|___
|___
____________________|
答案 2 :(得分:0)
def stairs(steps):
print("__")
length = 1
for i in range(steps):
length += 1
print("%s|_" % (" "*(length+i)),)
print("%s|" % ("_"*(length+steps+1)),)
stairs(4)
输出:
__
|_
|_
|_
|_
__________|
答案 3 :(得分:0)
您可以通过while
完成此操作。
counter = 0
while counter < steps:
Create_stairs()
increase counter
答案 4 :(得分:0)
不确定您的确切问题是什么。步骤的模式是:
步骤n - &gt; 2 +(2 * n)空白
steps = int(输入('步数多少?'))