2017-05-14 34 views
-3

充分披露,我在学校和我2个星期前错过了codingbat分配的问题,我希望我可以得到一些方向使这里我能学到对未来的Python需要帮助搞清楚包容

我的问题是 给定一个字符串和一个int n,返回一个由该字符串的前n个字符组成的字符串,后跟该字符串的前n-1个字符(包括0 < = 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 

将返回2正确答案

如果我没有

def d_2(string, n): 
    string = string[:-n:10] 
    return string 

它将返回3分正确的答案。

我相信这是一个很简单的事情,但我的大脑只是没有挑选出来,任何方向

回答

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 
0

你可以递归函数试图调用函数本身,直到n==1

def echo_first(string, n): 
    return string[:1] if n==1 else string[:n]+echo_first(string, n-1) 
相关问题