Adloun

NSI (première) · Chapitre 1 · Application directe du cours

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

Représenter les entiers · Lire et écrire dans une base · niveau 1 (application)

É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 .

  • "1021" en base : non, le chiffre n'existe pas.
  • "1021" en base : oui, et sa valeur est .
  • "BAD" en base : oui, avec , , ; sa valeur est .
  • "BAD" en base : non, dépasse .
  • "019" en base : oui au sens des chiffres. Le zéro de tête est inutile, mais il ne rend pas l'écriture invalide.
  • la chaîne vide : non, elle ne représente aucun nombre.

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.

100 % gratuit

Essaie le suivant avec le tuteur

Faire l'exercice suivant avec le tuteur

Sans compte : le cours, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant avec le tuteur →