2017-05-14 49 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) 
相關問題