Python 我在将循环中生成的答案存储到不同数组时遇到问题

Python 我在将循环中生成的答案存储到不同数组时遇到问题,python,Python,我试图为每个Ns值获得不同的v值。我在p方面有困难 p在每个循环中保存上一个Ns值。我希望我的v严格地仅为一个Ns的值。我曾尝试在代码中添加break,但仍然得到类似的结果 p=[] 磅=1000 Ns=[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20] 对于范围内的i(len(Ns)): 如果Ns[i]>3: m=(LB/((2*0.8)+(Ns[i]-2)))*0.8 s=m/0.8 n=m+(m/0.8) q=m w=n 当n+s3,在Ns

我试图为每个
Ns
值获得不同的
v
值。我在
p
方面有困难

p
在每个循环中保存上一个
Ns
值。我希望我的
v
严格地仅为一个Ns的值。我曾尝试在代码中添加break,但仍然得到类似的结果

p=[]
磅=1000
Ns=[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
对于范围内的i(len(Ns)):
如果Ns[i]>3:
m=(LB/((2*0.8)+(Ns[i]-2)))*0.8
s=m/0.8
n=m+(m/0.8)
q=m
w=n
当n+s
我希望在以下情况下输出:
Ns[i]=4v=[222.22500777.77]
Ns[i]=5v=[173.913391.30608.69826.697]。

Hi my code使用每个
Ns[i]
值不断向
p数组添加更多值。因此,当我按照以下方式编写代码时:

Ns[i]>3,在Ns[i]=5时,我得到v=[173.913391.30777.77608826]
,这是因为
p
已从Ns[i]=4添加到
p。我希望得到
v=[173.913391.30608826]
的结果。

试试这个:


LB = 1000

Ns = [ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
for i in range(len(Ns)):
  p = []
  if Ns[i] > 3:
     m =(LB/(((2*0.8)+(Ns[i]-2))))*0.8


     s = m/0.8
     n = m+ (m/0.8)
     q = m
     w =n


     while n + s < LB:

           n = n + s
           p += [n]
     v = [q,w,n]

     print(v) 


Output for Ns[5] is --> [173.91304347826087, 391.304347826087, [608.6956521739131, 826.0869565217392]]


磅=1000
Ns=[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
对于范围内的i(len(Ns)):
p=[]
如果Ns[i]>3:
m=(LB/((2*0.8)+(Ns[i]-2)))*0.8
s=m/0.8
n=m+(m/0.8)
q=m
w=n
当n+s[173.91304347826087391.304347826087,[608.6956521739131826.0869565217392]]
试一下:


LB = 1000

Ns = [ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
for i in range(len(Ns)):
  p = []
  if Ns[i] > 3:
     m =(LB/(((2*0.8)+(Ns[i]-2))))*0.8


     s = m/0.8
     n = m+ (m/0.8)
     q = m
     w =n


     while n + s < LB:

           n = n + s
           p += [n]
     v = [q,w,n]

     print(v) 


Output for Ns[5] is --> [173.91304347826087, 391.304347826087, [608.6956521739131, 826.0869565217392]]


磅=1000
Ns=[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
对于范围内的i(len(Ns)):
p=[]
如果Ns[i]>3:
m=(LB/((2*0.8)+(Ns[i]-2)))*0.8
s=m/0.8
n=m+(m/0.8)
q=m
w=n
当n+s[173.91304347826087391.304347826087,[608.6956521739131826.0869565217392]]


这里的LB是什么?也张贴预期输出。LB=1000。我刚刚编辑了问题预期输出?嗨,我刚刚编辑了它并添加了预期输出。谢谢,请检查代码中的缩进。很难理解。在
while
循环中,从第一次迭代开始,您似乎永远不会超过
中断?也张贴预期输出。LB=1000。我刚刚编辑了问题预期输出?嗨,我刚刚编辑了它并添加了预期输出。谢谢,请检查代码中的缩进。很难理解。在你的
while
循环中,从第一次迭代开始,你似乎永远不会超过
break
。嗨,谢谢你的回答,但我想看看每个Ns[i]值的p的所有值。嘿@AminaAliyu,我想我现在得到了输出。请检查。告诉我这是否有效,然后我可以解释问题所在。嗨,我运行了你的代码。对于Ns[5],我得到了[173.91304347826087391.304347826087826.0869565217392]。我似乎找不到和你一样的答案。你能再检查一下代码吗?我在更新后5分钟就改了。我已经从
while循环中拉出
v=[q,w,n]
。请再跑一次。对我来说工作很好,也分享了输出。嗨,谢谢你的回答,但我希望看到每个Ns[i]值的p的所有值。嘿@AminaAliyu,我想我现在得到了输出。请检查。告诉我这是否有效,然后我可以解释问题所在。嗨,我运行了你的代码。对于Ns[5],我得到了[173.91304347826087391.304347826087826.0869565217392]。我似乎找不到和你一样的答案。你能再检查一下代码吗?我在更新后5分钟就改了。我已经从
while循环中拉出
v=[q,w,n]
。请再跑一次。对我来说工作很好,也分享了成果。