对于下面的代码,我只想打印squareroot函数的最后一个近似值,而不是打印出每个近似值。如何仅打印for循环(Python)中的最后一个值?
def square(x):
guess = int(x/2)
for i in range(1,10):
nextguess = (guess + x/guess)/2
guess=nextguess
print(nextguess)
对于下面的代码,我只想打印squareroot函数的最后一个近似值,而不是打印出每个近似值。如何仅打印for循环(Python)中的最后一个值?
def square(x):
guess = int(x/2)
for i in range(1,10):
nextguess = (guess + x/guess)/2
guess=nextguess
print(nextguess)
只是去削弱你的print()
将工作:
def square(x):
guess = int(x/2)
for i in range(1,10):
nextguess = (guess + x/guess)/2
guess=nextguess
print(nextguess)
循环后,nextguess
仍然具有价值形成上个周期。 在Python中,循环不会创建新的作用域。因此,在循环之后,您在循环中创建或更改的所有内容仍然可用。
我宁愿'打印(猜)',它具有相同的值,但它保证被定义。 – Bakuriu
因为'我在范围(1,10):'是硬连线,'nextguss''将在这里定义。 –
你可以尝试用while循环做
def square(x):
guess = int(x/2)
i = 1
while (i < 10):
nextguess = (guess + x/guess)/2
guess=nextguess
i = i + 1
print(nextguess)
这似乎工作,谢谢! –
你有没有机会:1)点击编辑器中的{}'按钮,然后* * 2)粘贴内容?请不要这样做:它会打破缩进。你应该先*粘贴代码,然后选择它并按'{}'。 – Bakuriu
为什么不在循环之外输出'guess'?这应该做你想做的。 – Reaper
是的,这工作,以及谢谢 –