值错误:在hackrank中以10为基数的int()无效字面量



下面的代码在本地工作良好,因为它在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("")

最新更新