我将编写一个函数,它将根据用户输入更改字符串中的某些字符。这看起来非常简单,因为我只是使用了替换功能,你可以看到:
myStr = "Python Program"
myStr = myStr.replace('o', '/')
print(myStr)
Pyth/n Pr/gram
但我被告知这不是一个可以接受的解决方案。相反,我应该在不使用任何字符串方法的情况下做同样的事情。他们还强调它应该能够输入一对。所以应该可以采取:
pairs = [['P', '$'], ['o', '/']]
my_str = "Python Program"
my_str = substitute_pairs(my_str, pairs)
print(my_str)
$yth/n $r/gram
我想做某种for
循环,但我真的不知道从哪里开始。
答案 0 :(得分:1)
只需将pairs
转换为dict,并在必要时迭代字符串替换:
def substitute_pairs(my_str, pairs):
replacement = dict(pairs)
return ''.join(replacement[c] if c in replacement else c for c in my_str)
pairs = [['P', '$'], ['o', '/']]
my_str = "Python Program"
my_str = substitute_pairs(my_str, pairs)
print(my_str)
答案 1 :(得分:0)
def sub_pairs(st,pairs):
l,r = pairs
new_string = []
for ch in my_str:
if ch == l[0]:
ch = l[1]
elif ch == r[0]:
ch = r[1]
new_string.append(ch)
return ' '.join(new_string)
print(sub_pairs("Python Program",pairs))
$ y t h / n $ r / g r a m