NSI, tp entrainement

Compléter les 3 fonctions suivantes :

def truc(chaine,carac):
 »’
>>>truc(« chaine », »c »)
1
>>>truc(« chaine », »m »)
0
>>>truc(« carac », »a »)
2
 »’

def truc2(chaine_bin):
 »’
>>>truc2(« 10001101 »)
« 01110010 »
>>>truc2(« 010101 »)
« 101010 »
 »’

def truc3(chaine_bin):
 »’
>>>truc3(« 10001101 »)
« 00001111 »
>>>truc3(« 101010 »)
« 000111 »
 »’

Proposition correction :

def truc(chaine,carac):
    compteur=0
    for lettre in chaine:
        if lettre==carac:
            compteur+=1
    return compteur

    
def truc2(chaine_bin):
    chaine_retour=""
    for carac in chaine_bin:
        if carac=="1":
            chaine_retour+="0"
        else :
            chaine_retour+="1"
    return chaine_retour
    
def truc3(chaine_bin):
    retour=""
    # on ajoute des 0 autant de fois que nécessaire
    for i in range(truc(chaine_bin,"0")):
        retour=retour+"0"
    for i in range(truc(chaine_bin,"1")):
        retour=retour+"1"
    return retour

def truc3_bis(chaine_bin):
    retour=""
    for carac in chaine_bin:
        if carac=="0":
            retour=carac+retour
        else:
            retour=retour+carac
    return retour