完全披露,我在学校,我错过了2周前编码分配的问题,我希望我能在这里找到方向,以便我可以学习未来
我的问题是 给定一个字符串和一个int n,返回一个由字符串的前n个字符组成的字符串,后跟字符串的前n-1个字符,包括(即0< = n和n< = len(str) )。
d_2('ydu', 2) → 'ydy'
d_2('yoda', 3) → 'yod'
d_2('yoda', 1) → '1'
我能得到的最远的是:
def d_2(string, n):
string = string[:-n:]
return string
def d_2(string, n):
string = string[:-n:10]
return string
我确信这是一件非常简单的事情,但我的大脑并没有把它拿出来,任何方向
答案 0 :(得分:0)
您可以尝试创建一个循环来构造字符串a = string[:n-1] + string[:n-2] + string[:n-3] ....
,直到n
等于0。
def echo_first(string, n):
a=''
while n > 0:
a += string[:n]
n -= 1
return a
答案 1 :(得分:0)
您可以尝试使用递归函数来调用函数本身,直到n==1
:
def echo_first(string, n):
return string[:1] if n==1 else string[:n]+echo_first(string, n-1)