【问题标题】:Nested loops; multiplying two numbers嵌套循环;两个数相乘
【发布时间】:2021-07-24 14:26:56
【问题描述】:

我想获得一个 0.0 与 0.0 到 0.9 的乘积的列表。然后是 0.1 到 0.9。等等。所以我列表中的元素总数必须为 100。此代码不起作用。有什么帮助吗?

p=0.0
dp=0.1
p_ray= []
while p < 0.9:
  t = 0.0
  dt = 0.1
  t_ray = []
  u_ray = []
  while t <= 0.9:
      u=t*p
      u_ray.append(u)
      t=t+dt
  p=p+dp
print(u_ray)

【问题讨论】:

  • 您在每次迭代中再次声明u_ray,丢失所有先前的值。尝试将u_ray 声明放在while 之前。还有为什么你需要变量p_ray 和t_ray?
  • 是的,对不起,我是 python 新手。感谢您的帮助!

标签: python loops iteration multiplication


【解决方案1】:

在外循环的每次迭代中都会创建一个新列表,在开始时只声明一次,如果你不想改变它的值,即使每次都分配给 dt 也是多余的

p = 0.0
dp = 0.1
dt = 0.1
p_ray = []
t_ray = []
u_ray = []


while p < 0.9:
    t = 0.0

    while t <= 0.9:
        u = t * p
        u_ray.append(u)
        t += dt
    
    p += dp

print(u_ray)

【讨论】:

  • 非常感谢!这很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-09
  • 1970-01-01
  • 1970-01-01
  • 2012-11-14
  • 1970-01-01
相关资源
最近更新 更多