gpt4 book ai didi

python - HackerRank 阶梯 Python

转载 作者:太空宇宙 更新时间:2023-11-03 12:23:55 27 4
gpt4 key购买 nike

我正在尝试解决 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)

知道为什么 HackerRank 不接受我的回答吗?

最佳答案

您的输出不正确;你在不应该存在的楼梯前打印了一个空行。您的 range() 循环从 0 开始,因此您在第一行打印 n 个空格和零个 # 个字符.

从 1 开始你的 range()n 应该从 num_stairs - 2 开始(作为 print( ) 添加一个空格:

from __future__ import print_function

def staircase(num_stairs):
n = num_stairs - 2
for stairs in range(1, num_stairs):
print(' ' * n, '#' * stairs)
n -= 1
print('#' * num_stairs)

您可以将其简化为一个循环:

def staircase(num_stairs):
for stairs in range(1, num_stairs + 1):
print(' ' * (num_stairs - stairs) + '#' * stairs)

请注意,我现在使用串联来组合空格和 # 字符,以便在循环的最后一次迭代中打印零空格和 num_stairs # 个字符。

最后但同样重要的是,您可以使用 str.rjust() method (“右对齐”的缩写)提供空格:

def staircase(num_stairs):
for stairs in range(1, num_stairs + 1):
print(('#' * stairs).rjust(num_stairs))

关于python - HackerRank 阶梯 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31222291/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com