我正在尝试创建一个循环,将函数(比如f(x)=(2x+3)(2x-3))转换成更好的编辑格式,只需在数字之前添加一个“+”(它将变成f(x)=(+2x+3)(+2x-3))。问题是在循环中,在字符串的中间插入一个新的char后,字符串不会更新,所以当循环继续并且我试图访问函数字符串的某个索引时,字符是不正确的。在
def rewriteFunction(function):
for i, c in enumerate(function):
newFunction += c
if(str(c).isdigit()):
if not(i == 0):
if not(Sign.isSign(function[i - 1])):
function = function[:i] + "+" + function[i:]
如果可能的话,你能给我发一个准确的(正确的)代码,不要修改太多,当然如果这是正确的方法。提前谢谢!!在
在一行中,您将更新的数据存储在变量
newFunction
中,而在另一行中,您将更新存储回function
。为了保持一致性,我们永远不要更改function
,并将所有更新应用到newFunction
。不能初始化
newFunction
。从不显式返回
rewriteFunction()
中的任何内容。试试这个:
如果您的解决方案不一定要使用循环,您可以尝试regular expressions来简化事情:
请随时询问有关解决方案的任何问题。在
相关问题 更多 >
编程相关推荐