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.

Autres articles

Manipulation des Tableaux en Python avec Numpy
Numpy est une bibliothèque puissante et efficace pour la manipulation...
Read more
Manipulation des Tableaux en Python - Pandas
Python propose plusieurs façons de manipuler des tableaux en Python...
Read more
Expressions Régulières - Regex en Python
Les expressions régulières (ou Regex en Python ) sont un...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *