关于python3中的循环

时间:2017-09-12 18:10:13

标签: python python-3.x

我提供了输入0 1 5,答案应该是5,但它没有显示...
帮我解决语法

    a, b, c = [int(x) for x in input().split()]
    ans = None
    for i in range(3,c):
        ans=a + (b*b)
        a=b
        b=ans
        print ans

3 个答案:

答案 0 :(得分:0)

对于i = 3,你的循环将运行两次,并且i = 4.

第一次运行:

ans = 0 + 1 * 1 #1
a = 1
b = 1
print(1)

第二轮:

ans = 1 + 1 * 1 # 2
a = 1
b = 2
print(2)

现在ans是2.目前尚不清楚为什么你认为它应该是5。

答案 1 :(得分:0)

我认为这就是你要做的事情:

a, b, c = [int(x) for x in input().split()]
ans = None
for i in range(2,c):
    ans=a + (b*b)
    a=b
    b=ans
print (ans)

请注意for i in range(2,c)我将是2然后是3然后是4.它不会是5(= c)它会在c-1处停止。

编辑:如果您只想让循环运行c次,您可以说for i in range(c)。这样它将运行i = 0,1,2,...,c-1。

答案 2 :(得分:0)

根据Python 3,打印命令语法是 print('your text') print(variable) print('your text ans: ',ans) 没有半圆形支架打印将无法正常工作。 请参阅:https://docs.python.org/3/whatsnew/3.0.html