楼梯#&引用;用Python编写的程序,正确的输出,但不限定默认测试用例

楼梯#&引用;用Python编写的程序,正确的输出,但不限定默认测试用例,python,python-2.x,Python,Python 2.x,编写一个程序,打印一个大小的楼梯 输入格式:单个整数n,表示楼梯的大小 输出格式:使用#符号和空格打印大小为n的楼梯 注意:最后一行中必须有0个空格 我的程序给出了正确的输出,但没有通过hackerrank中的默认测试用例。我的代码如下: import sys val = 1 def stair(n, val): for i in range(n): res1 = " " *n res2 = "#" *val print res1 + re

编写一个程序,打印一个大小的楼梯

输入格式:单个整数n,表示楼梯的大小

输出格式:使用#符号和空格打印大小为n的楼梯

注意:最后一行中必须有0个空格

我的程序给出了正确的输出,但没有通过hackerrank中的默认测试用例。我的代码如下:

import sys
val = 1
def stair(n, val):
    for i in range(n):
        res1 = " " *n
        res2 = "#" *val
        print res1 + res2
        val = val+1
        n = n-1
n = int(raw_input().strip())
stair(n, 1)
注意:最后一行中必须有0个空格

您的程序正在最后一行打印一个空格

import sys
val = 1

def stair(n, val):
    for i in range(n+1):
        res1 = "-" *(n-i)   # putting - instead of space to test
        res2 = "#" *val
        print(res1 + res2)
        val = val+1
        # n = n-1


# n = int(input().strip())
n= 5
stair(n, 1)

注意:正如@Anonta所提到的,这段代码是在Python3.x中编写的-您在最后一行中得到了空格字符。但是,不要使用
for
循环-我建议使用
while
循环,如下所示:

def stairs(n):
    n_spaces = n-1
    n_stairs = 1
    while n:
        print(" "*n_spaces + "#"*n_stairs)
        n -= 1
        n_spaces -= 1
        n_stairs += 1

随后,这在python 2.x中起作用:

import sys
val = 1
def stair(n, val):
    for i in range(n+1):
        res1 = "_" *n
        res2 = "#" *val
        print res1 + res2
        val = val+1
        n = n-1
n = int(raw_input().strip())
stair(n, 1)
Python3.x

import sys

def staircase(n):
    for i in range(1,n+1):
        print(" "*(n-i)+ "#"*i)

if __name__ == '__main__':

    n = 3

    staircase(n)
这会有帮助的

n = int(input())
for i in range(1,n+1):
    for j in range(n-i):
        print(" ",end="")
    while i>0:
        print("#",end="")
        i -=1
    print("")
n = int(input())
for i in range(1,n+1):
    for j in range(n-i):
        print(" ",end="")
    while i>0:
        print("#",end="")
        i -=1
    print("")