【问题标题】:Summation in a while loop在while循环中求和
【发布时间】:2018-10-19 18:14:32
【问题描述】:
v0=1
alpha=1
t=0
dt=0.1
D = v0*dt
v = v0 - alpha*np.sqrt(v0)*dt
while v > 0:
    print(D)
    v = v0 - alpha*np.sqrt(v0)*dt
    v0 = v
    D = v0*dt

使用这个 while 循环,我在每次更新后打印 D 的值。有没有办法在 while 循环中执行求和,以便我只打印所有 D 值的总和,而不是将每个 D 值打印为不同的实体?

【问题讨论】:

  • D += v0*dt ?在D 上保持流动总和。
  • 我们希望您在此处发布问题之前进行尽职调查。上网查“Python运行总和”,先尝试一下。

标签: python python-3.x loops while-loop


【解决方案1】:

在你的 while 循环之后打印它。

v0=1
alpha=1
t=0
dt=0.1
D = v0*dt
v = v0 - alpha*np.sqrt(v0)*dt
while v > 0:
    v = v0 - alpha*np.sqrt(v0)*dt
    v0 = v
    D += v0*dt
print (D)

【讨论】:

  • 在更新 v0 之前是否需要交换 while 循环的最后两行以考虑 v0*t?
  • 这取决于您想如何将其汇总在一起。在第一次迭代中,您的 D 已经用 v0*dt 进行了初始化。因此交换最后两行会将您的初始 v0*dt 值两次添加到 D 中。
  • 我明白了。很好解释。谢谢。
猜你喜欢
  • 1970-01-01
  • 2016-11-27
  • 1970-01-01
  • 1970-01-01
  • 2015-07-17
  • 2023-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多