Python 字符串中查找字符
不使用string.index()或string.find()函数,要创建一个函数,遍历字符串string,返回要查找字符char的索引。
下面代码哪里出问题了,只返回了字符串首字母判断?
def findchr(string, char):
for i, j in enumerate(string):
if char == j:
print "The index is: "
return i
else:
return -1
print findchr('Alphabeaat', 'a')
结果:-1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
Thanks. 一句话说到点儿上了!另外还有一个问题就是,else没有对应的条件验证,就是说for正常执行完之后,一定会执行else 输出-1。
因为你用了return,找到一个就返回,函数就结束了。
You're right! 我应该换掉return,而且将else语句换成可验证条件的语句: )
我希望能够返回'Alphabeaat'中'a'的所有index:4 7 8,但是现在才查看了'Alphabeaat'的首字母'A'就结束了。所以想问:为什么没有查个遍?
def findchr(string, char): result=[] for i, j in enumerate(string): if char == j: result.append(i) return result
回复
Yep~ thank you. I know this works. But I just wonder what goes wrong with my code, just the reason why only returns the first char's index.
The index is:
4
index找不到为什么不返回-1或者 非要报异常呢?