对于来自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])
答案 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"'在这里重新解决一些解析问题:你可能不得不指定一个语法并对你的编码做出合理的攻击,以便进入我们可以提供帮助的下一个点。