Favicon
NSI Première

Python - correction exercices Chaînes de caractères

Caractère au choix

Proposition de script

					
chaine = "You're talkin' to me ?"
print('Voila la chaîne en mémoire : ', chaine)

index = 8

print("Le caractère à l'index", index ,' est :', chaine[index])
					
				

Remarques

Ne pas oublier que pour inclure des apostrophes ( ' ) dans une chaîne, il faut l'encadrer par des guillemets ( " ), et vice et versa !

Longueur d'une chaîne

Proposition de script

La structure for ... in ... parcourt une chaîne du début à la fin; il y a donc autant de "tour de boucles" qu'il y a de caractères dans la chaîne : compter les caractères revient donc à compter ces "tours de boucles", c'est à dire ici à faire une incrémentation d'un compteur à chaque tour :

				
chaine = input('Entrer une chaîne : ')

nb_car = 0  # variable compteur de caractères

for car in chaine :
    nb_car += 1   # à chaque caractère, on incrémente le compteur de 1

print('Longueur de la chaîne calculée :', nb_car)

print('Longueur de la chaîne avec la fonction len() :', len(chaine))
				
			

Remarques

Miroir

Proposition de script

				
chaine = "Bonjour"

miroir = ''  # chaîne vide qui contiendra la chaîne en miroir

for car in chaine :
    miroir = car + miroir  # ajout de chaque caractère AU DÉBUT de la chaîne

print(miroir)
				
			

Remarques

Autres possibilités

Comme très souvent en informatique, il existe plusieurs façons de résoudre un même problème; voici une autre version qui utilise une variable supplémentaire pour adresser le caractère à concaténer par son indice dans la chaîne :


chaine = "Bonjour"

miroir = ''  # chaîne vide qui contiendra la chaîne en miroir
indice = 0   # indice du premier caractère de la chaîne

for car in chaine :
    miroir = chaine[indice] + miroir  # le caractère est repéré par son indice
    indice += 1 # on passe au caractère suivant
print(miroir)
				

Ou encore :


chaine = "Bonjour"

miroir = ''  # chaîne vide qui contiendra la chaîne en miroir
indice = len(chaine)-1   # indice du DERNIER caractère de la chaîne

for car in chaine :
    miroir = miroir + chaine[indice]  # dans ce cas, il faut concaténer A LA FIN de la nouvelle chaîne...
    indice -= 1 # on passe au caractère PRÉCÉDENT
print(miroir)
				

Oui, cela devient compliqué, mais pourquoi pas ??