Python需要帮助计算包容性

时间:2017-05-14 05:07:19

标签: python string

完全披露,我在学校,我错过了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 

这将返回2个正确答案

如果我做了

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

它会返回3个正确答案。

我确信这是一件非常简单的事情,但我的大脑并没有把它拿出来,任何方向

2 个答案:

答案 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)