2012-03-27 78 views
0
def missing_char(str,n): 
    front = str[:n] 
    back = str[n+1:] 
    return front + back 

我真的不明白你在说什么被定义回来的时候,而且当你输入一个单词你指定我不明白,这实际上是如何取出信通过“返回正面+背面”部分进入功能。说明在这段代码是如何工作的

谢谢大家的帮助,你们都让我更好地理解它:)。

回答

7

str[:n]将字符串从开始复制到但不包括第n个字符。 str[n+1:]将字符串从第(n + 1)个字符复制到结尾。

添加这两个字符串将导致原始字符串的所有字符为,而第012个字符为

str[:n]str[0:n]的简写,并且str[n:]str[n:len(str)]的简写。

+0

ohhhh好的非常感谢您的帮助! – Djj 2012-03-27 07:41:02

+1

如果您发现有用的答案,请不要忘记点击接受按钮。并欢迎来到Stack Overflow。 – bos 2012-03-27 07:42:18

+0

再次感谢,我做到了:)。 – Djj 2012-03-27 07:47:40

2

front被计算为str所有字母高达定位n,然后back被计算为n+1位置str所有的字母 - 即在n本身跳过信。然后front + back简单地将两个片段连接在一起并返回结果字符串。

0

让我们来看看"Hello, World!"并取出字符5(无论如何谁都需要标点符号)。

当你调用missing_char,您会收到以下步骤:

  1. front被设置为 “Hello”(即从零到n个字符)
  2. back设定为 “世界!” (从n+1到末尾的字符)
  3. 返回正面和背面的连接,基本上把back放在front的末尾,导致我们的最终答案是“Hello World!”。

你可能想要更详细地看看拼接,像this answer这样的东西真的很好。一旦理解,这是一个非常强大的功能。

3
front = str[:n] 
# get prefix of str with n characters 
# for str = "hello" and n=2 front = "he" 

back = str[n+1:] 
# get suffix of the string starting from n+1th character 
# for str = "hello" and n=2 back = "lo" 

front + back 
# concatenation of front + back, which is "he" + "lo" = "helo" 
# So this small method basically removes the nth character