Python 2.7 在字符串中查找子字符串而不使用任何内置函数

Python 2.7 在字符串中查找子字符串而不使用任何内置函数,python-2.7,Python 2.7,我必须在字符串中找到一个特定的子字符串及其在字符串中的位置。这很容易,但我必须在不使用python中的任何内置函数或方法的情况下实现这一点。如果有人能帮忙,我会非常感激的。谢谢 string="ACAAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTGCTCTCCGGGGCCACGGCCACCGCTGCCCTGCCCCTGGAGGGTGGCCCCACCGGCCGAGACAGCGAGCATATGCAGGAAGCGGCAGGAATAAGGAAAAGCAGCCTCCTGACTTTCC

我必须在字符串中找到一个特定的子字符串及其在字符串中的位置。这很容易,但我必须在不使用python中的任何内置函数或方法的情况下实现这一点。如果有人能帮忙,我会非常感激的。谢谢

string="ACAAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTGCTCTCCGGGGCCACGGCCACCGCTGCCCTGCCCCTGGAGGGTGGCCCCACCGGCCGAGACAGCGAGCATATGCAGGAAGCGGCAGGAATAAGGAAAAGCAGCCTCCTGACTTTCCTCGCTTGGTGGTTTGAGTGGACCTCCCAGGCCAGTGCCGGGCCCCTCATAGGAGAGGAAGCTCGGGAGGTGGCCAGGCGGCAGGAAGGCGCACCCCCCCAGCAATCCGCGCGCCGGGACAGAATGCCCTGCAGGAACTTCTTCTGGAAGACCTTCTCCTCCTGCAAATAAAACCTCACCCATGAATGCTCACGCAAGTTTAATTACAGACCTGAA"

substring='ttg'

如果只需要字符串中的子字符串,可以使用以下命令:

str[12:15]
另一个例子:

a = '1234567890'
then 
>>> a[-3:-1]
'89'
>>> a[-3:]
'890'
>>> a[-2]
'9'
>>> a[5]
'6'

如果您不想使用任何内置函数,此代码将起作用

man = "ACAAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTGCTCTCCGGGGCCACGGCCACCGCTGCCCTGCCCC$
check = "TTG"

for i in range (0, len(man)):
    if man[i]==check[0]:
            sum =0
            for j in range(0, len(check)):
                    if man[i+j] != check[j]:
                            break
                            sum = 0
                    else:
                            sum = sum +1
                            if sum == len(check):
                                print i

如果没有任何内置项,就很难实现这一点,因为您需要
len
enumerate
来利用当前索引的知识进行迭代

尽管如此,这里是一个仅使用
len
的实现

def find(s, sub):
    idx = 0
    while idx < len(s):
        if s[i:len(sub)] == sub:
            return idx
    return -1
当然,这有点作弊,因为迭代和切片比许多内置组件对您的帮助更大

def find(s, sub):
    sub_len = 0
    for _ in sub:
        sub_len += 1

    idx = 0
    while s[idx:idx+1]:
        if s[i:sub_len] == sub:
            return idx
    return -1