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)
Où 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
- 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 - Quelle est la sortie du programme suivant ?
print(chr(97))
a) ‘A’
b) ‘B’
c) ‘a’
- Quel est le caractère Unicode correspondant à l’entier 8364 ?
a) $
b) €
c) £ - Quelle est la sortie du programme suivant ?
print(chr(128514))
a) ☺
b) 😀
c) 😉
- 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é
- Quelle est la sortie du programme suivant ?
print(ord('A'))
a) 65
b) 97
c) 128514
- Quelle est la sortie du programme suivant ?
print(chr(65))
a) ‘A’
b) ‘B’
c) ‘a’
- 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 - Quelle est la sortie du programme suivant ?
print(chr(ord('A') + 3))
a) ‘A’
b) ‘D’
c) ‘C’
- 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.