Python实施切割算法

2024-05-21 05:51:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我在练习动态规划 我也是python新手。 当我在壳里试这个的时候。在

def cut_rod(p, n):
    if n==0:
        return 0
    q = float('-inf')
    for i in range(n):
        q = max(q, p[i] + cut_rod(p, n-1-i))
    return q

p = [1,5,8,9,10,17,17,20,24,30]
print(timeit.repeat("cut_rod(p, 4)", "from __main__ import cut_rod",
              number =1000))

它警告我p不是一个全局变量。即时信息功能 p不是已经是全局变量了吗?在


Tags: inforreturnifdef动态rangefloat
1条回答
网友
1楼 · 发布于 2024-05-21 05:51:41

问题是您没有导入p

print(timeit.repeat("cut_rod(p, 4)", "from __main__ import cut_rod, p",
              number =1000))

timeit在受控环境中执行代码,因此必须显式传递语句所需的所有内容。在

相关问题 更多 >