我要做的是遍历一个字符串,选择一个名称,以及一个当前在字符串中的职务,然后它会找到该职务所在的行,然后用在参数中选择的新名称替换当前名称。你知道吗
这是我的字符串:
TV = '''
Tulleveien Velforening
leder: Kari
kasserer: Ole
IT-ansvarlig: Liv
parkeringsansvarlig: Kari
arrangementsansvarlig: Liv
hagekonsulent: Kari
brannansvarlig: Kari
'''
那么这就是我要运行的函数:
def Verv(navn, vervs):
print("Tulleveien Velforening")
for lines in TV.split("\n"):
lines.replace(navn, lines)
return TV
这就是我所尝试的:
Verv('Roald', ["leder", "IT-ansvarlig"])
但是当我运行这个程序的时候,我得到的只是一个列表,它是如何开始的。预期产出将是:
Tulleveien Velforening
leder: Roald
kasserer: Ole
IT-ansvarlig: Roald
parkeringsansvarlig: Kari
arrangementsansvarlig: Liv
hagekonsulent: Kari
brannansvarlig: Kari
我该如何解决这个问题?你知道吗
老实说,
Verv
是非常错误的。这里是一步一步:print("Tulleveien Velforening")
Tulleveien Velforening
已经在输入字符串中,所以为什么需要再次打印它?你知道吗for lines in TV.split("\n"):
-AccessTV
(从包含范围中),在换行符上拆分它,并将每个元素循环为lines
。TV
应该作为参数传入,但这不是什么大问题lines
应该重命名为line
,因为它包含一行,而不是一个iterable行。你知道吗lines.replace(navn, lines)
-用整行本身替换navn
的任何出现'Roald'
不会出现在输入中,因此这不起任何作用lines
没有任何意义line.replace(..., navn)
return TV
TV
在函数中没有更改Verv
的返回值未使用注意,
verv
参数没有使用。你知道吗还要注意的是,除了
Tulleveien Velforening
之外没有输出。你知道吗下面是您要做的:
(这是一种可能的方法。Rineesh's answer是另一个。)
TV
的每一行上循环。我会写for line in TV.splitlines():
vervs
中的任何verv
开头line
中的第二个字段替换为navn
我让你来执行。你知道吗
应该用
lines=lines.replace(navn, lines)
替换lines.replace(navn, lines)
。replace返回替换了相关子字符串的原始字符串的副本。你知道吗试试这个,我添加了一些内联注释,可以解释逻辑。你知道吗
相关问题 更多 >
编程相关推荐