gpt4 book ai didi

python - 用随机生成的值替换字符串中每次出现的子字符串

转载 作者:行者123 更新时间:2023-11-28 22:30:51 24 4
gpt4 key购买 nike

我有这样的字符串:

"What is var + var?"
"Find the midpoint between (var,var) and (var,var)"

我想将上述句子中每次出现的 var 更改为随机不同的整数。我目前的代码代码是:

question = question.replace("var",str(random.randint(-10,10)))

这只是把所有的整数变成同一个随机生成的数,例如;

"Find the midpoint between (5,5) and (5,5)"

据我所知,for 循环不能用于字符串,如何将子字符串“var”更改为不同的值而不是单个生成的数字?

最佳答案

您可以使用 str.format实现这一点:

import random

my_str = "Find the midpoint between (var,var) and (var,var)"

var_count = my_str.count("var") # count of `var` sub-string
format_str = my_str.replace('var', '{}') # create valid formatted string

# replace each `{}` in formatted string with random `int`
new_str = format_str.format(*(random.randint(-10, 10) for _ in range(var_count)))

new_str 将包含如下内容:

'Find the midpoint between (6,-10) and (-5,2)'

建议:最好在原始字符串中使用'{}'而不是'var'(因为python根据格式进行格式化)在 {} 上)。因此,在上述解决方案中,您可以跳过 .replace() 部分。


字符串格式化相关的引用:

关于python - 用随机生成的值替换字符串中每次出现的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41941116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com