Python 在哪里放置循环以获得结果
为什么我下面的代码没有运行,虽然我已经定义了R,但它告诉我我没有运行Python 在哪里放置循环以获得结果,python,Python,为什么我下面的代码没有运行,虽然我已经定义了R,但它告诉我我没有运行 N= 2 def f(R): for i in range(N): R = i return 2*R print f(R) 函数定义中的R将接受传递给它的值。但是您传入的R,在该范围内不存在。试着传递常数 print f(10) 或者在调用之前定义R R = 10 print f(R) 请注意,我可以将这个变量命名为C或任何东西,该值传入f函数中称为R,但它与R不同,您在哪里定义了R和
N= 2
def f(R):
for i in range(N):
R = i
return 2*R
print f(R)
函数定义中的
R
将接受传递给它的值。但是您传入的R
,在该范围内不存在。试着传递常数
print f(10)
或者在调用之前定义R
R = 10
print f(R)
请注意,我可以将这个变量命名为
C
或任何东西
,该值传入f
函数中称为R
,但它与R
不同,您在哪里定义了R
和/或N
?确切的回溯是什么?如果您只是将f
分配给不同的对象并反复更改,为什么需要f
将R
作为参数。你只需返回2*(N-1)
就可以得到相同的结果你的f(R)应该做什么?除非N我的实际代码非常复杂,所以我试着放一些简单的变量看看问题出在哪里。我的问题是我将R定义为值0和1(不是吗?),那么为什么python仍然无法识别它呢?我认为这个答案正确地解决了用户提出的问题。我仍然不知道他们希望函数做什么。我定义了R,它得到了数字0和1,我应该如何定义它?我们在代码中看不到这一点。你可能还有其他的逻辑errors@ursus我想你知道我有什么问题。因此,我可以命名变量x、b或任何东西,然后我告诉python应该放置什么来代替该变量。为什么R不一样。在f(R)中是R,然后我告诉它什么是R,这是一个范围。我想我可能对它的逻辑感到困惑。如果你能帮助我理解这一点,或者建议我一些文本来研究,我将不胜感激。