LANGAGE PYTHON



Particularité des chaînes de caractères



Une chaîne de caractère est un objet de type string qui représente un ou plusieurs caractères que l'on peut représenter avec un ordinateur, Python3  utilise le code UTF-8 pour représenter en interne les caractères avec des nombres binaires. Pour différentier un objet chaîne de caractères d'une variable, l'objet chaîne de caractères est entouré d'apostrophes simples ou doubles dans le code, par exemple: "a" ou 'a', 'bonjour' ou "bonjour" sont des objets chaîne de caractères.


Lorsque l'objet est composé de plusieurs caractères, chaque caractère est indicé dans la chaîne, si on associe l'objet à une variable, on peut accéder à chaque caractère individuellement avec le nom de la variable et l'indice, selon le principe nom_variable[indice].


Exemples:


une_chaine = "bonjour"

print( une_chaine[0])  # va afficher b le premier caractère de l'objet chaîne associé à la variable une_chaine

print( une_chaine[1])  # va afficher o le deuxième caractère de l'objet chaîne associé à la variable une_chaine



On peut connaitre le nombre de caractères d'une chaîne avec la fonction len(..) qui renvoie le nombre de caractères de la chaîne passée en paramètre.


une_chaine = "bonjour"

print( len(une_chaine) ) # va afficher 7 le nombre de caractères de l'objet associé à la variable




On peut aussi récupérer des parties d'un objet chaîne pour les associer à une variable ou les afficher:


une_chaine = "bonjour"


print( une_chaine [0:3] ) # va afficher du premier caractère (indice 0)  jusqu'à celui d'indice 3 exclu soit:  bon

print( une_chaine [1:4] ) # va afficher du deuxième caractère (indice 1)  jusqu'à celui d'indice 4 exclu soit:  onj

print( une_chaine [:4] ) # va afficher  du début de la chaîne jusqu'à celui d'indice 4 exclu soit:  bonj 

print( une_chaine [0:] ) # va afficher du premier caractère jusqu'à la fin de la chaîne soit: bonjour

print( une_chaine [:] ) # va également afficher du début jusqu'à la fin de la chaîne soit: bonjour  

print( une_chaine [3:] ) # va afficher du quatrième caractère (indice3)  jusqu'à la fin de la chaîne soit jour 


"Manipulation" de chaîne


ATTENTION,  les chaînes ne sont pas muables, on ne peut pas modifier le contenu d'un objet chaîne existant, remplacer un caractère par un autre dans un objet chaîne, exemple:


une_chaine = "monjour"

# la ligne de code ci-dessous va générer une erreur car on essaie d'affecter le caractère b à la place de m dans l'objet chaîne

une_chaine [0] = 'b'


Par contre on peut créer un nouvel objet chaîne par concaténation de deux autres objets chaînes (dont éventuellement un morceau d'objet chaîne):  


une_chaine = "monjour"

# le code ci-dessous va générer l'objet chaîne "bonjour" et l'associer à la variable nouvelle_chaine:

nouvelle_chaine = 'b' + une_chaine[1:]


Un variable n'étant qu'une association avec un objet, on aurait pu associer la variable une_chaine à ce nouvel objet créé, ce qui donne le code:


une_chaine = "monjour"

une_chaine = 'b' + une_chaine[1:]


Parcours de chaîne:


On peut utiliser un itérateur avec le code " if un_caractère in un_objet_chaîne"  pour tester si un_caractère est présent dans un_objet_chaîne, un itérateur est un curseur qui se déplace dans la chaîne, si un_caractère est pointée par le curseur, le test if.. in  vaut True, exemple:


une_chaine = "bonjour"

if 'b' in une_chaine:

   print("b est bien dans la chaine")


On peut utiliser un itérateur "for un_caractère  in un_objet_chaîne"  pour parcourir et afficher chaque lettre d'une chaîne, un itérateur est un curseur qui se déplace dans la chaîne, lors du parcours un_caractère  prend la valeur pointée par le curseur:


une_chaine = "bonjour"


for c in une_chaine:

    print(c, end=";")


Affiche:



On peut aussi utiliser une boucle for ... in range(... )  pour parcourir et afficher chaque lettre d'une chaîne:


une_chaine = "bonjour"


for i in range (len(une_chaine)):

    print(une_chaine[i] , end=";")


Affiche également:



Exercice 7  du niveau 1


Tester le code ci-dessous, préciser la différence entre i et c


une_chaine = "bonjour"


for c in une_chaine:

    print(c)


for i in range(len(une_chaine)):

    print(une_chaine [i] )



Exercice 8  du niveau 1


Tester le code ci-dessous:

mot_à_deviner = "coyote"

le_mot_décoré = ""

le_mot_caché = ""

for x in range(len(mot_à_deviner)):

    le_mot_décoré += mot_à_deviner[x] + " "

    le_mot_caché += "_" + " "



print(le_mot_décoré)


Créer un affichage ou chaque caractère du mot devient un underscore (_) et un espace est placé entre chaque underscore _ , pour coyote, l'affichage sera:


 



Exercice 9  du niveau 1



le_mot= ""

for x in range(10):

     le_mot += "_" + " "


print(le_mot)


# ajoutons le caractère a en 5ème position,

# on ne change rien dans le_mot du début inclus jusqu'au caractère 5 exclus ce qui se note le_mot[:5]

# on concatène ensuite le_mot[:5] avec le caractère a puis avec le reste du mot de la position 6 à la fin ce qui se note le_mot [6:]


le_mot = le_mot[:5] + 'a' + le_mot[6:]



Afficher le_mot


Selon le même principe ajouter le caractère  r en 8eme position







Créé avec HelpNDoc Personal Edition: Générateur d'aides CHM gratuit