Voici une série de questions à choix multiples (QCM) portant sur la concaténation de chaînes de caractères en Python, accompagnées de réponses détaillées et d’explications.
+
Quel sera le résultat du code suivant ?
nom = "Alice"
age = 30
print(nom + " a " + age + " ans.")
Alice a 30 ans.
La concaténation avec +
ne fonctionne qu’avec des chaînes de caractères. Ici, age
est un entier, ce qui provoque une TypeError.
Correction :
print(nom + " a " + str(age) + " ans.") # Résultat : "Alice a 30 ans."
join()
Quel sera le résultat de ce code ?
mots = ["Python", "est", "formidable"]
phrase = " ".join(mots)
print(phrase)
Python est formidable.
✅Pythonestformidable.
['Python', 'est', 'formidable']
La méthode join()
assemble les éléments de la liste en les séparant par le caractère spécifié (" "
dans cet exemple).
Quel sera le résultat du code suivant ?
nom = "Bob"
ville = "Paris"
print(f"Bonjour, je suis {nom} et j'habite à {ville}.")
Bonjour, je suis Bob et j'habite à Paris.
✅Bonjour, je suis {nom} et j'habite à {ville}.
Bonjour, je suis Bob et j'habite à Paris.
(sans les guillemets)Les f-strings permettent d’intégrer directement des variables dans une chaîne, avec une syntaxe lisible et concise.
Que retournera ce code ?
lettres = ["P", "y", "t", "h", "o", "n"]
resultat = "".join(lettres)
print(resultat)
P y t h o n
Python
✅['P', 'y', 't', 'h', 'o', 'n']
Un séparateur vide (""
) signifie que les éléments de la liste seront joints sans espace entre eux.
Quel problème pourrait survenir avec ce code ?
mots = ["Python", "est", "rapide"]
resultat = ""
for mot in mots:
resultat += mot + " "
print(resultat.strip())
Concaténer des chaînes dans une boucle avec +=
est inefficace, car une nouvelle chaîne est créée à chaque itération. Utilisez plutôt join()
pour une meilleure performance.
Correction :
resultat = " ".join(mots)
print(resultat) # Résultat : "Python est rapide"
Quel sera le résultat du code suivant ?
elements = ["Python", 3, "est", "super"]
resultat = " ".join(elements)
print(resultat)
Python 3 est super
['Python', 3, 'est', 'super']
Python est super
(sans le chiffre 3)Tous les éléments de l’itérable doivent être des chaînes pour utiliser join()
. Ici, 3
est un entier, ce qui provoque une TypeError.
Correction :
resultat = " ".join(map(str, elements))
print(resultat) # Résultat : "Python 3 est super"
Quel sera le résultat de ce code ?
articles = ["Pommes", "Poires", "Bananes"]
resultat = "\n".join(f"{i + 1}. {article}" for i, article in enumerate(articles))
print(resultat)
Le code génère une chaîne avec chaque article numéroté, séparé par des retours à la ligne (\n
).
Résultat :
1. Pommes
2. Poires
3. Bananes
Quel est le résultat du code suivant ?
dossier = "/home/utilisateur"
sous_dossiers = ["documents", "projets", "python"]
chemin = "/".join([dossier] + sous_dossiers)
print(chemin)
/home/utilisateur/documents/projets/python
✅Le code concatène la liste des sous-dossiers avec le dossier racine, séparés par /
.
Quel sera le résultat du code suivant ?
lignes = ["ligne1", "ligne2", "ligne3"]
texte = "\n".join(lignes)
print(texte)
ligne1ligne2ligne3
Chaque élément de la liste est joint avec un retour à la ligne (\n
) comme séparateur.
Résultat :
ligne1
ligne2
ligne3
Quel est le problème potentiel de ce code ?
mots = ["Python", "", "est", "super"]
resultat = " ".join(mots)
print(resultat)
La chaîne contient des espaces supplémentaires à cause de l’élément vide dans la liste.
Correction : Filtrez les éléments vides avant d’utiliser join()
:
resultat = " ".join(filter(None, mots))
print(resultat) # Résultat : "Python est super"
Voici une nouvelle série de QCM avancés pour approfondir vos connaissances sur la concaténation de chaînes en Python, avec des exemples plus complexes et des cas pratiques.
join()
Quel sera le résultat du code suivant ?
valeurs = [1, 2, 3, 4]
resultat = ", ".join(map(lambda x: f"#{x}", valeurs))
print(resultat)
1, 2, 3, 4
#1, #2, #3, #4
✅La fonction lambda
formate chaque élément de la liste valeurs
en ajoutant un #
devant. La méthode join()
combine ensuite les éléments formatés avec ,
comme séparateur.
Que retournera ce code ?
lignes = ["Python", "est", "génial"]
resultat = "\n".join(lignes)
print(resultat)
Python est génial
Python\nest\ngénial
Résultat :
Python
est
génial
La méthode join()
utilise \n
comme séparateur, plaçant chaque mot sur une nouvelle ligne.
join()
avec des DictionnairesQuel sera le résultat du code suivant ?
data = {"nom": "Alice", "age": "30", "ville": "Paris"}
resultat = ", ".join(f"{cle}: {valeur}" for cle, valeur in data.items())
print(resultat)
nom: Alice, age: 30, ville: Paris
✅{'nom': 'Alice', 'age': '30', 'ville': 'Paris'}
Alice, 30, Paris
La méthode join()
assemble les paires clé-valeur du dictionnaire, chaque paire étant formatée comme clé: valeur
.
Quel problème se pose dans ce code ?
nombres = [10, 20, 30]
resultat = ", ".join(nombres)
print(resultat)
Tous les éléments doivent être des chaînes pour utiliser join()
. Ici, les éléments sont des entiers, ce qui provoque une TypeError.
Correction :
resultat = ", ".join(map(str, nombres))
print(resultat) # Résultat : "10, 20, 30"
Quel sera le résultat de ce code ?
fichiers = ["document1", "image2", "table3"]
resultat = ", ".join(f"{fichier}.txt" for fichier in fichiers)
print(resultat)
document1, image2, table3
document1.txt, image2.txt, table3.txt
✅La compréhension de liste ajoute .txt
à chaque élément avant de les concaténer avec join()
.
join()
Que retourne ce code ?
mot = "Python"
resultat = "-".join(mot)
print(resultat)
Python
P-y-t-h-o-n
✅-Python-
La méthode join()
traite chaque caractère de la chaîne mot
comme un élément distinct et les relie avec -
comme séparateur.
join()
Quel sera le résultat du code suivant ?
colonnes = ["Nom", "Prénom", "Âge"]
resultat = "\n".join(f"-> {col}" for col in colonnes)
print(resultat)
Nom\nPrénom\nÂge
-> Nom\n-> Prénom\n-> Âge
✅Résultat :
-> Nom
-> Prénom
-> Âge
Quelle est l’avantage d’utiliser un générateur avec join()
comme dans cet exemple ?
resultat = " ".join(str(i) for i in range(1000000))
Un générateur permet de produire les éléments un par un, sans créer une liste temporaire, ce qui économise de la mémoire.
Quel problème pose ce code, et comment le corriger ?
mots = ["Python", "", "est", "génial"]
resultat = " ".join(mots)
print(resultat)
Résultat Actuel :
Python est génial
Correction : Utilisez filter()
pour supprimer les chaînes vides :
resultat = " ".join(filter(None, mots))
print(resultat) # Résultat : "Python est génial"
join()
pour les Retours à la LigneQuel sera le résultat du code suivant ?
lignes = ["ligne1", "ligne2", "ligne3"]
resultat = "\n".join(lignes)
print(resultat)
ligne1ligne2ligne3
Résultat :
ligne1
ligne2
ligne3
Lisez un article structuré et clair sur l’analyse thématique de contenu, rédigé dans un ton…
La réglementation ICPE (Installations Classées pour la Protection de l’Environnement) encadre les activités industrielles et…
Le stockage des produits dangereux ne peut être laissé à l’improvisation. La nature chimique, physique…
Le stockage des produits chimiques constitue une étape critique dans la chaîne de sécurité des…
Le commentaire de texte philosophique est un exercice scolaire et universitaire qui consiste à expliquer,…
📜 Genèse de la dissertation littéraire La dissertation littéraire trouve ses origines dans la tradition…
This website uses cookies.