在python中如何将嵌套的for循环改为一个循环

接收一个数字的列表,计算得到新的一个列表,其中第i个元素是原先列表的前i个元素的积
a=input('input a list')
a=eval(a)
b=[a[0]]
for i in range(1,len(a)):
s=1
for j in range(i+1):
s*=a[j]
b.append(s)
print(b)
用一个循环实现应该怎么做

多写一个变量 存你的乘法积


a=input('input a list')
a=eval(a)
b=[]
for i, v in enumerate(a):
    r = 1
    if i == 0:
        b.append(i)
    else:
        for j in range(v):
            r *= a[j]
        b.append(r)
print(b)

img


如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢