Adloun

Pour chacun des couples suivants, dire si la chaîne est une écriture…

Application directe du cours · niveau 1 (application) · NSI (première), chapitre 1 — Représenter les entiers · Lire et écrire dans une base

Énoncé

Pour chacun des couples suivants, dire si la chaîne est une écriture valide dans la base indiquée : "1021" en base ; "1021" en base ; "BAD" en base ; "BAD" en base ; "019" en base ; la chaîne vide en base . Écrire ensuite est_valide(s, b).

Corrigé

Un chiffre valide en base est un entier compris entre et .


def est_valide(s, b):
    """Vrai si s est une écriture correcte en base b."""
    if s == "":
        return False
    for c in s:
        if c not in CHIFFRES[:b]:
            return False
    return True

Contrôle : CHIFFRES[:b] est exactement la liste des chiffres autorisés — écrire la condition ainsi évite de comparer des caractères à des nombres.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.