是否可以使用列表中的数字来执行操作?

时间:2015-11-04 20:41:15

标签: python

对于来自c ++的python新手 例如,在python中,有没有办法在列表位置f [n-1]中的元素中替换它,执行数学运算,并将它添加到列表中的下一个元素?

f = [1, 1-x]
for n in range (1,5):
    f[n+1] = simplify((x*f[n-1])/n)
    print(f[n])

1 个答案:

答案 0 :(得分:1)

这是你想要的效果吗?它扩展了列表f,每个迭代都有一个元素。我删除了简化调用,因为我希望它不会影响您的 Python 机制问题。

x = 0.4

f = [1, 1-x]
for n in range(1,5):
    f.append((x*f[n-1]) / n)

print(f)

此输出是

[1, 0.6, 0.4, 0.12, 0.053333333333333344, 0.012]

现在你已经澄清了一点,这是你的字符串处理的起点。

def simplify(expr):
    return expr

f = ["1", "1-x"]
for n in range(1, 5):
    f.append(simplify("x*(" + f[n-1] + ")/n"))
    print(f[n])

此输出是

1-x
x*(1)/n
x*(1-x)/n
x*(x*(1)/n)/n

这会让您减少编程问题:如何减少诸如" x *(x *"到" x ** 2"'在这里重新解决一些解析问题:你可能不得不指定一个语法并对你的编码做出合理的攻击,以便进入我们可以提供帮助的下一个点。