Entrainement ds

Exercice 1

On considère un tuple contenant des notes et leurs coefficients :

notes=((12,5),(15,1),(8,1))

Ecrire une fonction permettant de calculer la moyenne pondérée de ces notes :

def moyenne(notes):
    '''
    retourne la moyenne pondérée
    >>>notes=((12,5),(15,1),(8,1))
    >>>moyenne(notes)
    11.857142857142858
    '''

Exercice 2

On considère un ensemble de villes et leurs populations.

villes=(("Lille",252),("Paris",800),("Marseille",300))

Ecrire une fonction renvoyant le nom de la ville la plus peuplée

def ville_la_plus_peuplee(villes):
    '''
    >>>ville_la_plus_peuplee(villes)
    "Paris"
    '''

Exercice 3 et 4 et correction

A=(3,-5)
B=(-1,12)

def vecteur(A,B):
    return (B[0]-A[0],B[1]-A[1] )
    
def milieu(A,B):
    return ((B[0]+A[0])/2,(B[1]+A[1])/2 )

codage=(("A","Z"),("B","Q"),("C","7"))
def code(texte):
    texte_code=""
    for carac in texte:
        caractere_code=carac
        for code in codage:
            if carac==code[0]:
                caractere_code=code[1]
        texte_code+=caractere_code
    return texte_code

Proposition de correction

notes=((12,5),(15,1),(8,1))
def moyenne(notes):
    somme_notes=0
    somme_coeff=0
    for note in notes:
        val_note=note[0]
        coeff_note=note[1]
        somme_notes+=val_note*coeff_note
        somme_coeff+=coeff_note
    return somme_notes/somme_coeff

villes=(("Tokyo",855),("Lille",252),("Paris",800),("Marseille",300))
    
def ville_la_plus_peuplee(villes):
    max_ville=villes[0][1]
    nom_ville_max=villes[0][0]
    for ville in villes:
        if ville[1]>max_ville:
            max_ville=ville[1]
            nom_ville_max=ville[0]
    return nom_ville_max
    
    

Sujet et correction dernière interrogation sur les chaînes de caractères :