【发布时间】:2016-10-12 03:39:26
【问题描述】:
我正在使用 python 3.5。
所以我试图创建一个将 x 和 y 作为正浮点输入的函数,然后计算并返回 R = x - N * y,其中 N 是最大整数,因此 x > N * y。
我做了这个函数:
def floatme(x,y):
N = 1
while x <= N * y:
R = x - N * y
N = N+1
return R
但在运行我的函数时,我收到以下错误:
UnboundLocalError:赋值前引用了局部变量“R”
我四处搜索,发现当函数中的分配变量已经在它之外分配时会发生这种情况。但是我的函数不是这样,所以我不明白为什么 Python 会抱怨?
【问题讨论】:
-
你应该将 R 初始化为某个东西,如果 x > N*y 在开始时它永远不会被分配
标签: python python-3.x