Как сделать переменные в строке

У меня есть код:

def replace(string: str):
    string.replace("%s", "popbob")
    string.replace("%h", "20")
    string.replace("%kr", "2.23")
    
    return string


print(replace("%s you have bad client, your hp is %h and i killed you in %kr block's!"))

По идее на выходе должно получится вот так:

popbob you have bad client, your hp is 20 and i killed you in 2.23 block's!

Но почему-то так не происходит, в чём проблема?


Ответы (1 шт):

Автор решения: do8rolyuboff

Потому что функция str.replace возвращает копию строки, в которой заменены все вхождения указанной строки указанным значением.

def replace(string: str):
    string = string.replace("%s", "popbob")
    string = string.replace("%h", "20")
    string = string.replace("%kr", "2.23")

    return string
→ Ссылка