因此问题要求返回一个字符串,其中原始字符串的每个字符均为3次,即单词='hello' 那么字符串应该返回'hhheeelllooo' (Python代码)
在这种情况下,我尝试使用string.join,但它只返回'hhh',但是如果我使用string + = character * 3,它可以工作。所以有什么区别,为什么不起作用
def myfunc (text):
string=''
for letter in text:
return string.join(letter*3)
但是
def myfunc (text):
string=''
for letter in text:
string+=letter*3
return string
有效
答案 0 :(得分:1)
在编写return string.join(letter*3)
时(即使不是您想要的),它将退出函数而不完成循环,因此仅返回第一个字母的结果。另外,string.join(X)
适用于列表之类的序列,并使用字符串X
将列表string
中的元素粘合在一起,因此,如果要使用它,可以按以下方式使用它:
def myfunc(text):
return ''.join([letter * 3 for letter in text])
print(myfunc('hello'))
输出:
hhheeellllllooo
答案 1 :(得分:1)
for letter in text:
return string.join(letter*3) # return at first letter,usel
它将起作用
''.join([i*3 for i in text])