我正在尝试解决HackerRank中的一个问题,我的提交有问题。我的代码在PyCharm中工作,但HackerRank不接受我的提交。
这是我要解决的问题:https://www.hackerrank.com/challenges/staircase
这是我的代码:
def staircase(num_stairs):
n = num_stairs - 1
for stairs in range(num_stairs):
print ' ' * n, '#' * stairs
n -= 1
print '#' * num_stairs
staircase(12)
你知道为什么哈克朗不接受我的回答吗?
可以使用rjust将字符串向右对齐:
另一个解决方案
您的输出不正确;您在楼梯前打印了一条不应存在的空行。您的
range()
循环从0
开始,因此您在第一行打印n
空格和零个#
字符。从1开始
range()
,并且n
应该从num_stairs - 2
开始(因为print()
的多个参数添加了一个空格:您可以将其简化为一个循环:
注意,我现在使用连接来组合空格和
#
字符,以便在循环的最后一次迭代中打印零空格和num_stairs
#
字符。最后但并非最不重要的是,您可以使用^{} method (简称“右对齐”)来提供空间:
相关问题 更多 >
编程相关推荐