将l作为参数传递(这样我就可以在函数中使用它作为局部变量)似乎不是一个好方法,因为每次调用函数时它都会被重新初始化
l = s.split(' ')
ns = ''
def revur(s, i=0):
global ns
if i >= len(s):
return ns
ns = s[i] + ns
return revur(s, i+1)
def wrur(s, i=0):
global l, ns
ns = ''
l[i] = revur(l[i])
if i >= len(l)-1:
s = ' '.join(l)
return s
return wrur(s, i + 1)
print(wrur(s))
输入:嗨,你好吗 输出:ih woh era uoy
如果没有任何循环,这是不可能实现的,因为字符串中的每个字符都需要受到影响,但有多个O(N)解决方案,其中一个是:
这个解决方案,连同另一个答案,展示了在iterable中更改每个项的两种主要方法
使用
map()
、切片和.join()
:其中
s
是字符串相关问题 更多 >
编程相关推荐