Python

La Fonction chr() en Python : Exercices corrigés et QCM

La fonction chr() en Python est utilisée pour convertir un entier en caractère Unicode correspondant. Elle prend un seul argument, l’entier représentant le code Unicode du caractère à retourner, et renvoie la chaîne de caractères représentant le caractère Unicode correspondant.

Dans cet article, nous explorerons en détail la fonction chr() en Python, en fournissant des exercices corrigés pour une meilleure compréhension ainsi qu’un QCM pour tester vos connaissances.

1. Utilisation de la fonction chr()

La syntaxe de la fonction chr() est la suivante :

chr(i)

i est l’entier représentant le code Unicode du caractère à retourner.

Exercice 1 : Écrivez un programme Python qui utilise la fonction chr() pour afficher le caractère Unicode correspondant à l’entier 65.

Solution :

print(chr(65))  # Output: 'A'

Exercice 2 : Écrivez un programme Python qui prend un entier en entrée et affiche le caractère Unicode correspondant.

Solution :

num = int(input("Entrez un entier : "))
print("Le caractère Unicode correspondant est :", chr(num))
2. Exercices avancés

Exercice 3 : Écrivez un programme Python qui prend une chaîne de caractères en entrée et affiche les codes Unicode de chaque caractère.

Solution :

string = input("Entrez une chaîne de caractères : ")
for char in string:
    print("Le code Unicode de", char, "est :", ord(char))

Exercice 4 : Écrivez un programme Python qui prend une liste d’entiers représentant les codes Unicode et les convertit en caractères correspondants.

Solution :

unicode_list = [65, 66, 67]
characters = [chr(code) for code in unicode_list]
print("Les caractères correspondants sont :", ''.join(characters))
3. Questionnaire à choix multiples (QCM)

Question 1 : Quel est le rôle de la fonction chr() en Python ?
a) Convertir un caractère en entier
b) Convertir un entier en caractère
c) Calculer la somme de deux entiers

Réponse : b) Convertir un entier en caractère

Question 2 : Quel est le caractère Unicode correspondant à l’entier 97 ?
a) ‘A’
b) ‘B’
c) ‘a’

Réponse : c) ‘a’

Question 3 : Quelle est la sortie du programme suivant ?

print(chr(8364))

a) $
b) €
c) £

Réponse : b) €

La fonction chr() en Python est un outil puissant pour manipuler les caractères Unicode et est largement utilisée dans le traitement des chaînes de caractères. En comprenant son fonctionnement et en pratiquant avec des exercices, vous pouvez améliorer vos compétences en programmation Python. Utilisez ces exercices et le QCM pour renforcer votre compréhension de cette fonctionnalité importante.


⭐ Exercices avancés sur la fonction chr() en Python

Exercice 1 : Génération de Mot de Passe

Écrivez un programme Python qui génère un mot de passe aléatoire en utilisant des caractères Unicode. Demandez à l’utilisateur la longueur souhaitée du mot de passe, puis utilisez la fonction chr() pour générer des caractères aléatoires.

Exercice 2 : Cryptographie Simple

Implémentez un programme de cryptographie simple en Python. Demandez à l’utilisateur d’entrer un message et une clé de chiffrement. Utilisez la fonction chr() pour crypter chaque caractère du message en ajoutant la valeur de la clé, puis décryptez le message en soustrayant la valeur de la clé.

Exercice 3 : Création de votre propre système de codage

Créez votre propre système de codage en Python en associant chaque caractère Unicode à un autre caractère Unicode. Demandez à l’utilisateur d’entrer un message, puis utilisez votre système de codage pour crypter le message en remplaçant chaque caractère par son équivalent codé. Pour décoder, utilisez l’inverse de votre système de codage.

Exercice 4 : Conversion Hexadécimale

Écrivez un programme Python qui prend une chaîne de caractères en entrée et convertit chaque caractère en sa représentation hexadécimale en utilisant la fonction chr() et hex().

Exercice 5 : Analyse de Fréquence de Caractères

Implémentez un programme Python qui prend une chaîne de caractères en entrée et analyse la fréquence de chaque caractère. Utilisez la fonction chr() pour compter le nombre d’occurrences de chaque caractère Unicode dans la chaîne.

Ces exercices avancés vous permettront d’explorer diverses applications de la fonction chr() en Python et d’améliorer vos compétences en programmation. Amusez-vous à les résoudre !

Voici les solutions avec le code pour chaque exercice :

Solution Ex 1 : Génération de Mot de Passe

import random

def generate_password(length):
    password = ''
    for _ in range(length):
        password += chr(random.randint(33, 126))  # Caractères imprimables dans la table ASCII
    return password

length = int(input("Entrez la longueur du mot de passe : "))
print("Mot de passe généré :", generate_password(length))

Solution Ex 2 : Cryptographie Simple

def encrypt(message, key):
    encrypted_message = ''
    for char in message:
        encrypted_message += chr(ord(char) + key)
    return encrypted_message

def decrypt(encrypted_message, key):
    decrypted_message = ''
    for char in encrypted_message:
        decrypted_message += chr(ord(char) - key)
    return decrypted_message

message = input("Entrez le message à crypter : ")
key = int(input("Entrez la clé de chiffrement : "))

encrypted_message = encrypt(message, key)
print("Message crypté :", encrypted_message)

decrypted_message = decrypt(encrypted_message, key)
print("Message décrypté :", decrypted_message)

Solution Ex 3 : Création de votre propre système de codage

def encode(message, encoding_key):
    encoded_message = ''
    for char in message:
        encoded_message += chr(ord(char) + encoding_key)
    return encoded_message

def decode(encoded_message, decoding_key):
    decoded_message = ''
    for char in encoded_message:
        decoded_message += chr(ord(char) - decoding_key)
    return decoded_message

message = input("Entrez le message à encoder : ")
encoding_key = int(input("Entrez la clé de codage : "))

encoded_message = encode(message, encoding_key)
print("Message encodé :", encoded_message)

decoded_message = decode(encoded_message, encoding_key)
print("Message décodé :", decoded_message)

Solution Ex 4 : Conversion Hexadécimale

def convert_to_hex(message):
    hex_message = ''
    for char in message:
        hex_message += hex(ord(char)) + ' '
    return hex_message.strip()

message = input("Entrez le message à convertir en hexadécimal : ")
print("Message en hexadécimal :", convert_to_hex(message))

Solution Ex 5 : Analyse de Fréquence de Caractères

def character_frequency(message):
    freq = {}
    for char in message:
        if char in freq:
            freq[char] += 1
        else:
            freq[char] = 1
    return freq

message = input("Entrez le message pour analyser la fréquence des caractères : ")
frequency = character_frequency(message)
print("Fréquence des caractères dans le message :")
for char, freq in frequency.items():
    print(char, ":", freq)

Ces solutions vous permettront de mettre en pratique l’utilisation de la fonction chr() en Python dans différents contextes.


Voici quelques exercices pour vous permettre de découvrir des bugs potentiels :

Exercice 1 : Erreur de Type
def add_numbers(a, b):
    return a + b

num1 = input("Entrez le premier nombre : ")
num2 = input("Entrez le deuxième nombre : ")

result = add_numbers(num1, num2)
print("La somme est :", result)

Dans cet exercice, le bug potentiel est une erreur de type car input() renvoie une chaîne de caractères et non un nombre entier. Lorsque vous essayez d’additionner les deux entrées, vous obtiendrez une concaténation de chaînes de caractères plutôt qu’une addition arithmétique.

Exercice 2 : Indentation Incorrecte
def is_even(num):
    if num % 2 == 0:
    return True
    else:
    return False

print(is_even(4))

Dans cet exercice, le bug potentiel est une indentation incorrecte. Les instructions return True et return False sont indentées incorrectement, ce qui entraînera une erreur de syntaxe. Les instructions return doivent être alignées avec le début du bloc if.

Exercice 3 : Division par Zéro
def divide(a, b):
    return a / b

num1 = int(input("Entrez le numérateur : "))
num2 = int(input("Entrez le dénominateur : "))

result = divide(num1, num2)
print("Le résultat de la division est :", result)

Dans cet exercice, le bug potentiel est une division par zéro. Si l’utilisateur entre un dénominateur de 0, le programme lèvera une exception ZeroDivisionError.

Exercice 4 : Valeur Hors de Gamme
def check_range(num):
    if 1 <= num <= 10:
        return True
    else:
        return False

value = int(input("Entrez une valeur : "))

if check_range(value):
    print("La valeur est dans la plage autorisée.")
else:
    print("La valeur est hors de la plage autorisée.")

Dans cet exercice, le bug potentiel est une valeur hors de la plage autorisée. Si l’utilisateur entre une valeur en dehors de la plage de 1 à 10, le programme affichera à tort que la valeur est dans la plage autorisée.

Ces exercices vous permettront de vous entraîner à repérer et à corriger différents types de bugs courants en programmation Python.


Voici deux modèles de QCM exhaustifs autour du sujet de la fonction chr() en Python :

Modèle de QCM 1 : Niveau Débutant
  1. Quel est le rôle de la fonction chr() en Python ?
    a) Convertir un caractère en entier
    b) Convertir un entier en caractère
    c) Calculer la somme de deux entiers
  2. Quelle est la sortie du programme suivant ?
   print(chr(97))

a) ‘A’
b) ‘B’
c) ‘a’

  1. Quel est le caractère Unicode correspondant à l’entier 8364 ?
    a) $
    b) €
    c) £
  2. Quelle est la sortie du programme suivant ?
   print(chr(128514))

a) ☺
b) 😀
c) 😉

  1. Quelle fonction peut être utilisée pour obtenir le code Unicode d’un caractère en Python ?
    a) ord()
    b) unicode()
    c) chr()
Modèle de QCM 2 : Niveau Avancé
  1. Quelle est la sortie du programme suivant ?
   print(ord('A'))

a) 65
b) 97
c) 128514

  1. Quelle est la sortie du programme suivant ?
   print(chr(65))

a) ‘A’
b) ‘B’
c) ‘a’

  1. Quel est le rôle de la fonction chr() dans le contexte de la cryptographie ?
    a) Convertir un caractère en entier
    b) Convertir un entier en caractère
    c) Chiffrer un message
  2. Quelle est la sortie du programme suivant ?
   print(chr(ord('A') + 3))

a) ‘A’
b) ‘D’
c) ‘C’

  1. Quelle est la sortie du programme suivant ?
   print(ord('€'))

a) 36
b) 128514
c) 8364

Ces modèles de QCM couvrent différents aspects de la fonction chr() en Python, allant des concepts de base aux applications plus avancées. Utilisez-les pour tester vos connaissances et renforcer votre compréhension de cette fonctionnalité essentielle de Python.

AZ

Recent Posts

Questions pièges en entretien d’embauche : méthodes et réponses pour réussir

Un entretien d’embauche ressemble rarement à une conversation ordinaire. Derrière des questions en apparence simples…

5 jours ago

Questions entretien d’embauche commercial : exemples et réponses efficaces

Préparez efficacement votre entretien commercial avec 140 questions clés et 12 mises en situation concrètes…

6 jours ago

Questions d’entretien d’embauche : exemples, réponses et conseils pour réussir

Un entretien d’embauche crée souvent une impression particulière. Quelques minutes avant d’entrer dans la salle…

6 jours ago

Modèle de Devis Bâtiment Excel

Dans le bâtiment, un devis représente souvent le premier véritable contact entre une entreprise et…

1 semaine ago

Lettre de motivation EHPAD : guide complet, exemples concrets et conseils pour une candidature réussie

Dans un EHPAD, chaque candidature révèle une manière d’être autant qu’un savoir-faire. Derrière la lettre…

2 semaines ago

Lettre de motivation mutation interne : Modèles & Exemples Word

Télécharger des modèles et exemples Word de lettres de motivation pour mutation interne ⬇️ Au…

2 semaines ago

This website uses cookies.