如何用多个字符串替换子字符串

时间:2019-07-11 16:18:40

标签: python

我正在设置一个图形计算器,我需要从多个给定的x值中计算出y值的列表。例如,等式为10x + 5。我将视图窗口设置为-10到10。我需要找到一种方法来计算10(-10)+5,一直到10(10)+5。

为此,我需要找到一种用整数列表替换x的方法。我该如何实现?

replace()不起作用,因为它仅接受str而不接受列表。

equation.replace('x', xValues)

4 个答案:

答案 0 :(得分:0)

[equation.replace('x', y) for y in xValues]为此使用列表理解

答案 1 :(得分:0)

您可以简单地将replace函数应用于您感兴趣的值列表:

xValues = range(-10, 11)
equation = "10*x+5"
result = [equation.replace("x", str(v)) for v in xValues]

请注意,replace使用两个字符串参数,因此您需要先将替换值转换为字符串。

上面将为您提供所有表达式的列表:

['10*-10+5',
 '10*-9+5',
 '10*-8+5',
 '10*-7+5',
 '10*-6+5',
 '10*-5+5',
 '10*-4+5',
 '10*-3+5',
 '10*-2+5',
 '10*-1+5',
 '10*0+5',
 '10*1+5',
 '10*2+5',
 '10*3+5',
 '10*4+5',
 '10*5+5',
 '10*6+5',
 '10*7+5',
 '10*8+5',
 '10*9+5',
 '10*10+5']

答案 2 :(得分:0)

遍历值:

for x in range(-10, 11):
  print(10*x + 5)

答案 3 :(得分:0)

您可以使用简单的for循环

for i in range(-10,11): #upper limit is 11 because it exclude it and run till 10
    print((10*i)+5)     #if you want answer only
    print("10 * "+str(i)+" + 5") #if you want equation
    print("10 * "+str(i)+" + 5",(10*i)+5) #if you want both equation with answer

在使用前删除评论