created:10-22-2021
views:70
1

知道.format()可以替换字符串中的变量,比如:

>>> text  = "x = {}".format(1)
>>> text
'x = 1'

如果要替换字符串中多个不同的变量要怎么办呢?

asked 7 months ago
user image wiki
添加评论
评论需要先登录哦o( ̄ε ̄*)
1

有两种情况

顺序型

如果出现的变量不重复,则可以按替换的顺序替换:

>>> text = "x1 是 {},x2是{}".format(1,2)
>>> text
'x1 是 1,x2是2'

变量型

如果字符串中的变量排序复杂,比如有重复出现的情况,则可以考虑使用{name}的形式给字符串中的不同变量取不同的名字。

下面的例子演示了在迭代中我们通常想知道第\(n\)次迭代时变量的值(\(x_n,y_n\))是多少的问题:

def string_replacement():
    x_n = 1
    y_n = 2
    iterate_number = 0
    while iterate_number < 5:
        iterate_number += 1
        text = "x_{n}: {x_n}; y_{n}: {y_n}"
        print(text.format(n=iterate_number, x_n=float(x_n), y_n=float(y_n)))
        x_n += 1
        y_n += 1


string_replacement()

输出结果:

x_1: 1.0; y_1: 2.0
x_2: 2.0; y_2: 3.0
x_3: 3.0; y_3: 4.0
x_4: 4.0; y_4: 5.0
x_5: 5.0; y_5: 6.0
10-22-2021
添加评论
评论需要先登录哦o( ̄ε ̄*)
添加回答