从一个函数传递操纵变量以在另一个函数中使用

loo

我使用蛮力策略来找到问题的答案。我的想法是,我以10为增量遍历3个不同范围(例如嵌套循环)以显着减少组合数量。

然后,我在第一个函数中使用给我的三个解决方案,为我的函数重新定义循环范围参数,这将产生更精确的解决方案。

这是我的代码:

# first broad looping function to zone down to the relevant area of my solution
def t1_solve(cgoal):
    max_value = None
    nc_f = None
    c_f = None
    cd_f = None
    for i, j, k in [(i,j,k) for i in range(nc_rev.idxmax(),int((cgoal*100)+200),5) for 
    j in range(c_rev.idxmax(),int((cgoal*100)+200),5) for k in range(cd_rev.idxmax(),
    int((cgoal*100)+200),5)]:
        if (t1rev(i,j,k) > max_value and t1c(i,j,k) > cgoal):

            #storing the optimal value result, and my three solution in nc_f, c_f, cd_f

            max_value = t1rev(i,j,k)
            nc_f = i
            c_f = j
            cd_f = k

    print max_value
    print nc_f, c_f, cd_f
    return nc_f
    return c_f
    return cd_f

# second reduced looping problem to fine-tune my answer

def t1_finetune():

# run the broad looping function

    t1_solve(3.61)

# this is where I have trouble with passing my solutions stored in the
# previous function's nc_f, c_f, cd_f

#ERROR OCCURS HERE!!!!!
    if nc_f - 20 > 0:
        nc_lowerbound = nc_f - 20
    else:
        nc_lowerbound = 1

    if nc_f + 20 < 1499:
        nc_upperbound = nc_f + 20
    else:
        nc_upperbound = 1499

    if c_f - 20 > 0:
        c_lowerbound = c_f - 20
    else:
        c_lowerbound = 1

    if c_f + 20 < 1499:
        c_upperbound = c_f + 20
    else:
        c_upperbound = 1499

    if cd_f - 20 > 0:
        cd_lowerbound = cd_f - 20
    else:
        cd_lowerbound = 1

    if cd_f + 20 < 1499:
        cd_upperbound = cd_f + 20
    else:
        cd_upperbound = 1499    

    for i, j, k in [(i,j,k) for i in range(nc_lowerbound, nc_upperbound) for 
    j in range(c_lowerbound, c_upperbound) for k in range(cd_lowerbound, cd_upperbound)]:
        if (t1rev(i,j,k) > max_value and t1c(i,j,k) > cgoal):
            max_value = t1rev(i,j,k)
            nc_f = i
            c_f = j
            cd_f = k
    print max_value
    print nc_f, c_f, cd_f
    return nc_f, c_f, cd_f


t=time.time()
t1_finetune()
print time.time() - t

我收到的错误消息是:

UnboundLocalError: local variable 'nc_f' referenced before assignment

本质上,我只需要将nc_f,c_f和cd_f从我的t1_solve()传递到我的t1_finetune()。单独运行t1_solve()可以正常工作,当在t1_finetune()中调用它时,它仍然可以工作,直到继续我对错误发生的注释的其余代码。

我希望这很清楚,请让我知道是否有任何需要澄清的内容。

提前致谢!

阿巴内特

首先,您的t1_solve函数具有三个return语句,而不是一个。一旦到达第一个,功能就结束了,其他功能就永远不会发生。因此,您需要这样做:

return nc_f, c_f, cd_f

接下来,当您调用t1_solve它并将这些值返回给您时,您只需忽略结果。您需要将它们存储在某个地方。例如:

nc_f, c_f, cd_f = t1_solve(3.61)

为了直观理解,您在这里要做的是返回三个值而不是一个,并将这三个返回值分配给三个变量。

如果您想知道实际发生的情况:第一个nc_f, c_f, cd_f创建一个3元素元组并返回该一个元组。然后,后者nc_f, c_f, cd_f =使用可迭代的分配拆包。请参阅教程节Tuples and Sequences中的介绍。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将javascript变量从一个函数/文件传递到另一个

来自分类Dev

在Python中从一个函数调用变量到另一个函数

来自分类Dev

Laravel-将变量从一个函数传递给另一个函数

来自分类Dev

在Swift中将列表从一个函数传递到另一个函数

来自分类Dev

如何在angularJS中将变量从一个函数传递给另一个函数?

来自分类Dev

如何将字符串变量从一个函数传递给另一个函数?

来自分类Dev

我无法使用从一个函数到另一个函数的传递变量

来自分类Dev

从一个函数到另一个函数传递多维数组

来自分类Dev

将变量从一个函数传递到另一个函数-Javascript

来自分类Dev

将值从一个函数传递到另一个函数

来自分类Dev

C ++如何使用从一个函数到另一个函数的变量?

来自分类Dev

如何将变量值从一个函数传递给另一个函数

来自分类Dev

Laravel-将变量从一个函数传递给另一个函数

来自分类Dev

从一个函数调用变量到另一个函数

来自分类Dev

在Swift中将列表从一个函数传递到另一个函数

来自分类Dev

将变量从一个函数传递到另一个函数

来自分类Dev

将变量值从一个函数传递到另一个函数

来自分类Dev

在bash脚本中将变量从一个函数传递给另一个函数

来自分类Dev

如何将变量从一个函数传递给另一个函数

来自分类Dev

如何在angularJS中将变量从一个函数传递给另一个函数?

来自分类Dev

使用Python在另一个函数中使用一个函数中的变量

来自分类Dev

在python中使用一个函数的变量到另一个函数

来自分类Dev

将变量从一个 JS 函数传递到另一个函数

来自分类Dev

如何将变量从一个函数传递给另一个函数?

来自分类Dev

Swift 将数据从一个函数传递到另一个函数

来自分类Dev

Python 在另一个函数中使用变量

来自分类Dev

无法将链接从一个函数传递到另一个函数

来自分类Dev

将变量 (id) 从一个函数传递到另一个函数

来自分类Dev

在另一个函数中使用变量

Related 相关文章

  1. 1

    将javascript变量从一个函数/文件传递到另一个

  2. 2

    在Python中从一个函数调用变量到另一个函数

  3. 3

    Laravel-将变量从一个函数传递给另一个函数

  4. 4

    在Swift中将列表从一个函数传递到另一个函数

  5. 5

    如何在angularJS中将变量从一个函数传递给另一个函数?

  6. 6

    如何将字符串变量从一个函数传递给另一个函数?

  7. 7

    我无法使用从一个函数到另一个函数的传递变量

  8. 8

    从一个函数到另一个函数传递多维数组

  9. 9

    将变量从一个函数传递到另一个函数-Javascript

  10. 10

    将值从一个函数传递到另一个函数

  11. 11

    C ++如何使用从一个函数到另一个函数的变量?

  12. 12

    如何将变量值从一个函数传递给另一个函数

  13. 13

    Laravel-将变量从一个函数传递给另一个函数

  14. 14

    从一个函数调用变量到另一个函数

  15. 15

    在Swift中将列表从一个函数传递到另一个函数

  16. 16

    将变量从一个函数传递到另一个函数

  17. 17

    将变量值从一个函数传递到另一个函数

  18. 18

    在bash脚本中将变量从一个函数传递给另一个函数

  19. 19

    如何将变量从一个函数传递给另一个函数

  20. 20

    如何在angularJS中将变量从一个函数传递给另一个函数?

  21. 21

    使用Python在另一个函数中使用一个函数中的变量

  22. 22

    在python中使用一个函数的变量到另一个函数

  23. 23

    将变量从一个 JS 函数传递到另一个函数

  24. 24

    如何将变量从一个函数传递给另一个函数?

  25. 25

    Swift 将数据从一个函数传递到另一个函数

  26. 26

    Python 在另一个函数中使用变量

  27. 27

    无法将链接从一个函数传递到另一个函数

  28. 28

    将变量 (id) 从一个函数传递到另一个函数

  29. 29

    在另一个函数中使用变量

热门标签

归档