2017-05-25 109 views
0

这里是我的问题:返回一个特定的字符

我在使用EDX Python中的教程来的。练习要求我:

编写函数称为third_index,它接受一个字符串作为参数,并返回字符串的第三个字符。如果用户输入少于3个字符的字符串,则返回“太短”。

def third_index(myString): 
    if len(myString) >= 3: 
     for i in myString: 
      count = 0 
      while not count == 3: 
       count =+ 1 
      return i 
    else: 
     return "too short" # Write your function here! 

test1 = third_index("Hello World!") 
print(test1) 

当我尝试运行此,我得到这样的结果: ^ h

我的理论是,循环无法正常工作。它停在第一个循环。

感谢您的帮助,专家! :)

+0

尝试将'my in myString:'更改为'return myString [2]'。字符串有索引,从零开始。所以指数2指的是第三个位置(0,1,2)。你可以把索引称为'something [index]'。 – Mikael

+0

你的代码是错误的...在for循环中,当处理第一个字符时,你只需返回。 while循环什么都不做,只是将计数加到3. – Yang

+0

谢谢你们!帮助我成为你们中的一员。希望能在未来赶上你。 – lloydyu24

回答

0

您可以在字符串中使用数组索引得到第三个字符。请记住,第一个字符的索引是零!

下面是一些示例代码:

def third_index(myString): 
    if len(myString)<3: 
     print("Too short!") 
    else: 
     print(myString[2]) 

test1 = third_index("Hello World!") 

输出:

l 

祝你好运,欢迎到Python的世界!

0

你的功能可以更简单:

def third_index(myString): 
    if len(myString) < 3: 
     return "too short" 
    return myString[2] 
+0

myString [3]实际上会返回_4th_字符!注意这一点 - 字符串是零索引的,与任何数组类型相同 – DatHydroGuy

+0

@DatHydroGuy,实际上它的真正快速解决问题哈哈,谢谢! – Netwave

+0

太棒了。谢谢! – lloydyu24

0

错误处理:

def third_index(s): 
    try: 
     return s[2] 
    except: 
     return "too short" 

随着条件:

def third_index(s): 
    if len(s) < 3: 
     return "too short" 
    else: 
     return s[2] 
+1

太棒了!谢谢Max! – lloydyu24

+1

再一次,在第一个例子中,请注意,'return s [3]'这一行实际上会返回_4th_字符! – DatHydroGuy

+0

已修复!不能相信我错过了! – Max

相关问题