在python中使用循环在字符串中查找模式

2024-10-03 09:13:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图编写一个函数来确定给定的字符串中是否存在给定的模式。例如“afewtabcks”中的“abc” 为此,我编写了一个main函数来提示输入,然后调用另一个函数(“match”)来确定输入的模式是否存在于输入的字符串中。问题是我不知道如何在不使用任何子字符串方法的情况下遍历字符串来检查模式。在

以下是我所拥有的:

def main():
    string=input("String")
    pattern=input("Pattern")
    if match==True:
        print "A perfect match!"
    else match==False:
        print "Better try again..."

def match(string, pattern):
    for i in range (len(string)-len(pattern)+1):

Tags: 方法函数字符串inputstringlenmaindef
2条回答

为什么不只是:

def match():
    string = raw_input('String')
    pattern = raw_input('Pattern')
    if pattern in string:
        print 'A perfect match!'
    else:
        print 'Better try again...'

与字符串一起使用的in运算符检查字符串中是否存在子字符串。在

很简单。不需要子字符串方法。这就是为什么我喜欢Python!在

我试着不使用“pattern”或“in”来完成这项工作,但最后一部分似乎不起作用:

def main():
string=input("String")
pattern=input("Pattern")
m = match(string, pattern)
if m==True:
    print ("A perfect match!")
elif m==False:
    print ("Better try again...")
def match(string, pattern):
    string=str(string)
    pattern=str(pattern)
    index=0
    while index<=string:
        if string[index:len(pattern)]==pattern:
            return True
        index = index +1
    return False

相关问题 更多 >