【问题标题】:Having issue writing a simple mathematical equation in python在 python 中编写一个简单的数学方程时遇到问题
【发布时间】:2020-08-23 12:09:56
【问题描述】:

我下面有如下伪代码,

procedure optimal():
  for each i in 1 · · · N do
     TMi ← fmobile(i)
     TCi ← fcloud(i)
     TUi ← Di/B
     return [psuedocode][1]

我正在尝试在 python 中转换它。我写了以下代码

 def optimal():
   B=20
   for i in range(1, 10):
     latency_m=[]
     latency_c=[]
     transfer_latency=[]
     total_latency_m = 0
     total_latency_c=0
     latency_m[i]=estimate_m(i)
     latency_c[i]=estimate_c(i)
     transfer_latency[i]=estimate_output(i)/B

    for j in range (1, 10):

        for i in range(1,j):
            total_latency_e+=latency_e[i]

        for k in range(j+1,10):
            total_latency_c+=latency_c[k]

感谢您的帮助。 [1]:https://i.stack.imgur.com/LXNQX.gif

【问题讨论】:

  • 您的伪代码描述的内容完全不清楚,您能否提供更多上下文
  • 您是否试图找到 j 以使图像中的总和最小化?

标签: python arrays python-3.x list


【解决方案1】:

根据附上的公式:

N = 50

TM = [] # External source
TC = [] # External source
TU = [] # External source

SUMS = [0] * N
for j in range(N):
    for i in range(1, j+1):
        SUMS[j] += TM[i]
    for k in range(j-1, N+1):
        SUMS[j] += TC[k]    
    SUMS[j] += TU[j]
    
return min(SUMS)

【讨论】:

  • 嗨@AvivYaniv,当我在范围内运行你的代码时出现错误(i,j + 1):UnboundLocalError:局部变量'i'在赋值之前引用
猜你喜欢
  • 1970-01-01
  • 2021-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多