Aller au contenu

Ep 17

le document

l'algorithme

Issue de : 23-NSI-31⚓

EXERCICE 1⚓

Écrire une fonction Python appelĂ©e nb_repetitions qui prend en paramĂštres un Ă©lĂ©ment elt et une liste tab et renvoie le nombre de fois oĂč l’élĂ©ment apparaĂźt dans la liste.

Exemples :

🐍 Script Python
>>> nb_repetitions(5, [2, 5, 3, 5, 6, 9, 5])
3
>>> nb_repetitions('A', ['B', 'A', 'B', 'A', 'R'])
2
>>> nb_repetitions(12, [1, '!', 7, 21, 36, 44])
0

RĂ©ponse

Complétez le code ci-dessous

###
# Mettre votre code icibksl-nlbksl-nl



Solution

###
def nbpy-undrepetitions(elt, tab):bksl-nl nb = 0bksl-nl for element in tab:bksl-nl if element == elt:bksl-nl nb += 1bksl-nl return nbbksl-nlbksl-nltry:bksl-nl assert nbpy-undrepetitions(5, [2, 5, 3, 5, 6, 9, 5]) == 3bksl-nl assert nbpy-undrepetitions('A', ['B', 'A', 'B', 'A', 'R']) == 2bksl-nl assert nbpy-undrepetitions(12, [1, '!', 7, 21, 36, 44]) == 0bksl-nl print('Tout semble correct 👍')bksl-nlbksl-nlexcept AssertionError as asser:bksl-nl print('Le rĂ©sultat de votre fonction n\'est pas conforme đŸ€”')bksl-nlbksl-nlbksl-nl



EXERCICE 2⚓

Pour rappel, la conversion d’un nombre entier positif en binaire peut s’effectuer Ă  l’aide des divisions successives comme illustrĂ© ici :

image

Voici une fonction Python basée sur la méthode des divisions successives permettant de convertir un nombre entier positif en binaire :

Compléter la fonction bianaire :

🐍 Script Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
def binaire(a):
    '''convertit un nombre entier a en sa representation 
    binaire sous forme de chaine de caractĂšres.'''
    if a == 0:
        return '0'
    bin_a = ... 
    while ...: 
        bin_a = ... + bin_a 
        a = ... 
    return bin_a
Exemple :

🐍 Script Python
>>> binaire(0)
'0'
>>> binaire(77)
'1001101'
RĂ©ponse

Complétez le code ci-dessous

###
def binaire(a):bksl-nl binpy-unda = str(...)bksl-nl a = a // 2bksl-nl while a ... :bksl-nl binpy-unda = ...(a%2) + ...bksl-nl a = ...bksl-nl return binpy-undabksl-nlbksl-nl



Solution

###
def binaire(a):bksl-nl binpy-unda = str(a%2)bksl-nl a = a // 2bksl-nl while a != 0 :bksl-nl binpy-unda = str(a%2) + binpy-undabksl-nl a = a // 2bksl-nl return binpy-undabksl-nlbksl-nltry:bksl-nl assert binaire(0) == '0'bksl-nl assert binaire(77) == '1001101'bksl-nl print('Tout semble correct 👍')bksl-nlbksl-nlexcept AssertionError as asser:bksl-nl print('Le rĂ©sultat de votre fonction n\'est pas conforme đŸ€”')bksl-nlbksl-nlbksl-nl