Python:函数可以返回一个字符串吗?
问题描述:
我正在做一个递归函数,将字符串切片,直到它为空。当它为空时,它可以选择字符,并打印或返回值。在这种情况下,我期待我的函数返回两个单词'Hello'和'World'。也许我错了,但我不明白的是,我的函数不让我打印或返回字符串。我不寻求帮助,但我想解释一下:)谢谢Python:函数可以返回一个字符串吗?
def lsubstr(x):
a= ''
b= ''
if x == '':
return ''
else:
a = a + x[0:]
b = b + x[1:]
lsubstr(x[2:])
#print (a,b)
return a and b
lsubstr('hweolrllod')
,所以我改变了我的代码如下:
def lsubstr(x):
if len(x) <1:
return x
else:
return (lsubstr(x[2:])+str(x[0]),lsubstr(x[2:])+str(x[1]))
lsubstr('hweolrllod')
什么,我想说明的是一个元组这将储存装置2对字符并连接下一个的,
错误我得到的是 类型错误:无法将“元组”对象隐含str的
究竟是GOI ng错误,我已经检查可视化,它在拼接时遇到了麻烦。
是,函数*可以*返回一个字符串。你的问题至少是你的一个问题,就是你根本没有从递归调用返回(例如'return lsubstr(..)')。其次,什么是'a和b'应该准确返回?! – deceze
'和'运算符通常用于布尔逻辑。我相信你想用'+'连接字符串。 –
你的问题的一部分可能是你没有对任何调用'lsubstr'返回的值做任何事情。也许你想打印出来或分配给一个变量或东西? – Duncan