下面的代码在本地工作良好,因为它在hackerrank中失败,我们需要做任何修改?
n=int(input())
for i in range(n):
for y in range(i+1):
print("* ",end="")
print("")
您没有验证进入int()
函数的值。您可以使用下面的代码片段复制错误:
input_value = 'Some String'
int(input_value)
> ValueError: invalid literal for int() with base 10: 'Some String'
在您的例子中,我相信您想要验证用户在input()
中提供的参数。另一种选择是:
valid_input = False
while not valid_input:
input_val = input()
try:
# Try to cast the value to an int
n = int(input_val)
# If it succeeds save and exit the loop.
valid_input = True
except ValueError:
# If it could not cast it to an int
print('Invalid input -- please enter a number')
一旦你有了你的输入,你可以继续你的代码:
for i in range(n):
for y in range(i + 1):
print("* ", end="")
print("")