Ctrl+F, Ctrl+R

1. Rechercher encore

1.1. Rechercher à une position

def rechercher_i(s, w, i):
    for j in range(len(w)):
        if w[j] != s[j+i]:
            return False
    return True

1.2. Rechercher à l’aide de recherche_i

def rechercher_0(s, w, d):
    for i in range(d, len(s)-len(w)+1):
        if rechercher_i(s, w, i):
            return i
    return -1

1.3. Rechercher avec boucle imbriquée

def rechercher(s, w, d):
    for i in range(d, len(s)-len(w)+1):
        egaux = True
        j = 0
        while j < len(w) and egaux:
            if w[j] != s[i+j]:
                egaux = False
            j = j + 1
        if egaux:
            return i
    return -1

1.4. Rechercher tout

def rechercher_tout(s, w) :
    L = []
    i = rechercher(s,w,0)
    while i != -1 :
        L.append(i)
        i = rechercher(s,w,i+len(w))
    return L

1.5. Remplacer

def remplacer(s, w, v) :
    L = rechercher_tout(s,w)
    s_remplace = list(s)
    dec = 0
    for i in L :
        s_remplace[i+dec:i+dec+len(w)] = v
        dec += len(v)-len(w)
    return ''.join(s_remplace)

2. Fichiers

2.1. Lecture d’un fichier

def nb_c(chemin) :
    fichier = open(chemin, 'r')
    texte = fichier.read()
    fichier.close()
    return len(texte)
 
def nb_m(chemin) :
    fichier = open(chemin, 'r')
    texte = fichier.read()
    mots = texte.split()
    fichier.close()
    return len(mots)
 
def nb_l(chemin) :
    fichier = open(chemin, 'r')
    lignes = fichier.readlines()
    fichier.close()
    return len(lignes)

2.2. Recherche dans un fichier

fichier = open("txt/texte_interressant.txt", "r")
texte = fichier.read()
rechercher_tout(texte,"nadine")

2.3. Remplacer dans un fichier

fichier = open("txt/star_wars.txt", "r")
texte = fichier.read()
texte_nadine = remplacer(texte,"Force","Nadine")
fichier_nadine = open("txt/nadine_wars.txt","w")
fichier_nadine.write(texte_nadine)