首页 > 解决方案 > Python乘以字符串内的值

问题描述

从网络链接我想为相同的链接创建分页号,例如。

link="https://www.example.com?id=s-25"

所以如果我的分页数为 5,那么输出应该是这样的

"https://www.example.com?id=s-25"
"https://www.example.com?id=s-50"
"https://www.example.com?id=s-75"
"https://www.example.com?id=s-100"
"https://www.example.com?id=s-125"

我尝试了以下代码

link="https://www.example.com?id=s-25*{value}"

for i in range(1,5):

    print(link.format(value=i))

但它打印输出像

https://www.example.com?id=s-25*1
https://www.example.com?id=s-25*2
https://www.example.com?id=s-25*3
https://www.example.com?id=s-25*4

eval如果我这样使用,它不会乘以值

print(eval(link.format(value=i)))

出错了

    print(eval(link.format(value=i)))
  File "<string>", line 1
    https://www.example.com?id=s-25*1
     ^
SyntaxError: invalid syntax

标签: pythonpython-3.x

解决方案


或者,如果您无法修改变量link,请尝试:

link="https://www.example.com?id=s-25*{value}"
for i in range(1, 6):
    print(link[:link.rfind('-') + 1] + str(eval(link.format(value=i)[link.rfind('-') + 1:].format(value=i))))

输出:

https://www.example.com?id=s-25
https://www.example.com?id=s-50
https://www.example.com?id=s-75
https://www.example.com?id=s-100
https://www.example.com?id=s-125

推荐阅读