Hackerrank Staircase解决方案不被接受

时间:2016-03-20 20:24:50

标签: python python-3.x printing

黑客problem要求你用哈希打印一个楼梯:

     #
    ##
   ###
  ####
 #####
######

我已提交以下代码:

n = int(input())
for i in reversed(range(n)):
    print(i*' ','#'*(n-i))

没有被接受。为什么呢?

2 个答案:

答案 0 :(得分:2)

问题是你的print语句。

print(i*' ','#'*(n-i))

如果您打印用逗号分隔的多个字符串,您将获得由空格字符分隔的字符串。 E.g。

>>> print("foo", "bar")
foo bar
>>> print("foo"+"bar")
foobar

您可以将两个字符串与+运算符结合使用。

在程序中进行这一小改动可以解决问题。

答案 1 :(得分:1)

print()函数默认打印由空格字符(" ")分隔的参数,在输出中为您提供额外的字符。您需要print一个参数,或者传递sep=""

 print(i*' ' + '#'*(n-i))

 print(i*' ', '#'*(n-i), sep="")