Python multiply value inside string

Viewed 37

From web link I want to create pagination number for same link, for ex.

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

so if my pagination count 5 then output should like this

"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"

I tried following code

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

for i in range(1,5):

    print(link.format(value=i))

but it print output like

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

it's not multiply by value if I used eval like this

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

got error

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

Or if you can't modify variable link, try:

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))))

Output:

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

Try this:

for i in range(1,6):
    print(f'https://www.example.com?id=s-{25*i}')

Output:

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

OR:

list(map("https://www.example.com?id=s-{}".format, range(25,150,25)))

Try this:

    for it in range(1, 6):
        print(f'https://www.example.com?id=s-{25*it}')
Related