所以任务是读取整数 N 对于所有非负整数 I
例如,用户输入为5,因此输出应为... 0 1个 4 9 16
这是我的解决方法。
# The first two lines of code were default and already there.
if __name__ == '__main__':
n = int(input())
# Everything below is my code.
for i in range(0,5):
while i < 5:
print(i ** 2)
i += 1
break
因此,尽管这在Python 3.7中有效,但在Hackerrank中则无效,因为如果您输入大于5的数字,比如说7,Hackerrank将会输出... 0 1个 4 9 16 25 36
Python将在输出数字16之后停止运行。
如何在Hackerrank中解决此问题? 如果您想自己看问题,请点击这里。 https://www.hackerrank.com/challenges/python-loops/problem
答案 0 :(得分:2)
首先,如果要迭代n个数字,则不应写入range(0,5)。
第二,您不需要编写另一个while函数。您对这个问题使用LambdaPermission1:
Type: "AWS::Lambda::Permission"
Properties:
Action: lambda:InvokeFunction
FunctionName: !GetAtt HandlerFunction.Arn
Principal: apigateway.amazonaws.com
SourceAccount: !Ref AWS::AccountId
SourceArn: !Join ["", ["arn:aws:execute-api:", {"Ref": "AWS::Region"}, ":", {"Ref": "AWS::AccountId"}, ":", <API id>, "/<stage>/<method>/path"]]
或 for loop
。
更改
while loop
到
for i in range(0,5):
while i < 5:
print(i ** 2)
i += 1
break
答案 1 :(得分:1)
要添加到@ Marcus.Aurelianus答案:
如果您使用的是Python 2,请进行以下更改:
n = input()
答案 2 :(得分:1)
n=int(input())
for i in range(0,n):
print(i*i)
答案 3 :(得分:0)
因为您的答案有两点错误。
第一个是您不写N的值,您必须吸引用户。
其次,数学运算错误。您需要将print(i ** 2)
固定为print(i * 2)
,以便获得他们想要的结果。这可能就是为什么它不接受的原因。
我对同一问题的回答如下。
if __name__ == '__main__':
n = int(input(""))
i = 0
while i < n:
r = i * i
i += 1
print(r)
答案 4 :(得分:0)
在Python2中:
if __name__ == '__main__':
n = int(raw_input())
for number in range(0,n):
print(number*number)
在Python3中:
if __name__ == '__main__':
n = int(input())
for number in range(0,n):
print(number*number)
答案 5 :(得分:0)
在 Python 3 中:
if __name__ == '__main__':
n = int(input())
for i in range(0,n):
if i<n:
print(i*i)
答案 6 :(得分:-1)
这应该有效:
if __ name __ == ' __main __':
n = int(input())
for i in range(n):
while i < 10:
print(i ** 2)
i += 1
break