我要修一门程序设计课程,明天就要期末考试了。我要参加一个练习期末考试,我被这个问题困住了:
给出以下函数标题
定义首次发生(ch,s):
编写一个方法,返回字符串s中存储在ch中的第一个字符。如果在字符串中找到该字符,则函数应返回其位置。因此,如果s='abcdefg',ch的值是'd',您的程序将返回3。如果在字符串中找不到该字符,则程序应返回-1。在
我试了一下,但运气不好。我在这里:
def firstOccur(ch, s):
b = len(s)
n = 0
for c in range(b):
d = ch[0]
e = s[c]
if d != e:
return(-1)
else:
while d != e:
n = n+1
return(n)
def main():
a = firstOccur('d', 'abcdefg')
print(a)
main()
主要功能只是测试firstOccurse函数。我不知道该怎么办,也不知道我走的路是否正确。帮忙吗?在
好吧,让我们把这个分解一下。你会得到一个字符列表,也就是一个字符串。因此,任务是在这个列表上迭代(=循环),直到找到列表中第一个出现的搜索键。一旦你击中了事件,返回它的位置,这也打破了循环。如果在没有找到搜索键的情况下完成循环,则返回
-1
(BTW;None
在Python中更有意义)。在Python提供了一个名为
enumerate
的内置函数,该函数接受一个列表并返回一个元组列表,其中包含元素索引和元素本身。i、 e或者 “abcd”
变成
^{pr2}$这是个无名小卒。在
如果不允许使用enumerate,那么还有一条“漫长”之路:
这基本上和字符串。查找()方法:) 预计除了Python基础知识之外,不允许使用任何其他方法来解决这个问题。。。在
您可以尝试这样的方法;它将返回索引为零的位置(即,第一个字符为0,第二个字符为1,等等)。Enumerate可以为您跟踪当前位置。在
相关问题 更多 >
编程相关推荐