Chaînes de caractères
Contents
Chaînes de caractères#
Une chaine de caractères est comparable à une liste dans le sens où chaque lettre (ou symbole) d’une chaine de caractère possède une position au sein de la chaine de caractères. Tout comme les listes, la première lettre de la chaîne de caractères possède l’indice 0.
prenom = 'Christophe'
print(prenom[0])
C
Nous pouvons donc facilement afficher les initiales du nom et du prénom d’une personne.
prenom = 'Christophe'
nom = 'Desagre'
print('Mes initiales sont', prenom[0], nom[0])
Mes initiales sont C D
Pour aller plus loin
Si on souhaite que les initiales soient collées, il faudrait utiliser le paramètre sep
dans la fonction print
. Ce paramètre affiche par défault un espace entre chaque élément à afficher. En choisissant de ne rien afficher entre chaque élémént, on peut donc obtenir le résultat souhaité.
prenom = 'Christophe'
nom = 'Desagre'
print('Mes initiales sont ', prenom[0], nom[0], sep="")
Mes initiales sont CD
Bien que cela puisse paraître étrange à première vue, il est possible d’utiliser l’opérateur d’addition entre des chaines de caractères. Ceci permet de les assembler, en utilisant le symbôle +
. Ainsi, nous pouvons définir deux variables, prenom
et nom
. Ensuite, nous pouvons créer une 3ème variable nom_complet
en additionnant les deux premières variables.
prenom = 'Christophe'
nom = 'Desagre'
nom_complet = prenom + nom
print(nom_complet)
ChristopheDesagre
Note
Pour obtenir un résultat plus qualitatif, nous pouvons ajouter un espace entre le prénom et le nom.
prenom = 'Christophe'
nom = 'Desagre'
nom_complet = prenom + " " + nom
print(nom_complet)
Christophe Desagre
Pour afficher une chaîne de caractères sur plusieurs lignes, on peut utiliser 3 simples quotes ou 3 double quotes
adresse_bureau = '''Rue au Bois, 365
Bruxelles'''
print(adresse_bureau)
Rue au Bois, 365
Bruxelles
Pour connaître la longueur d’une chaîne de caractères, on peut utiliser len
.
prenom = 'Christophe'
print(len(prenom))
10
Etant donné qu’une chaîne de caractères peut être considérée comme une liste de caractères, il est donc possible de ne retenir que certains caractères en fonction de leur positionnement. Par exemple, les 5 premiers caractères de mon prénom sont:
prenom = 'Christophe'
print(prenom[:5])
Chris
Et les 3 derniers sont:
prenom = 'Christophe'
print(prenom[-3:])
phe
Si je n’affiche qu’une lettre sur 2, cela donne:
prenom = 'Christophe'
print(prenom[::2])
Crsoh
Les méthodes sur chaînes de caractères#
Minuscules et majuscules#
lower
permet de transformer toutes les lettres d’une chaîne de caractères en minuscules.
prenom = 'Christophe'
print(prenom.lower())
christophe
Inversément, upper
permet de transformer toutes les lettres d’une chaîne de caractères en majuscules.
prenom = 'christophe'
print(prenom.upper())
CHRISTOPHE
Finalement, capitalize
permet d’avoir une première lettre en majuscule, et toutes les autres en minuscule.
prenom = 'christophe'
print(prenom.capitalize())
Christophe
Exercices#
Exercice 1#
Sur base du nom et du prénom, créez une adresse email “prenom.nom@ichec.be”.
Utilisez :
prenom
= Christophenom
= Desagre
prenom = 'Christophe'
nom = 'Desagre'
mail = prenom.lower() + "." + nom.lower() + "@ichec.be"
print(mail)
christophe.desagre@ichec.be
Exercice 2#
Réaliser un script qui permet de tester si une adresse mail finit par “@ichec.be”. Si c’est le cas, indiquez que l’adresse mail est valide.
mail = 'christophe.desagre@ichec.be'
if mail[-9:] == '@ichec.be':
print('Adresse mail valide')
else:
print('Adresse mail invalide')
Adresse mail valide
Demander à l’utilisateur d’entrer un mot et tester si celui-ci est un palindrome.
Exercice 3#
Compter le nombre de voyelles dans un mot
voyelles = 'aeiouy'
mot = 'christophe'
cpt = 0
for voyelle in voyelles:
cpt += mot.count(voyelle)
print(cpt)
3
Exercice 4#
Compter le nombre de consonnes dans un mot
voyelles = 'aeiouy'
mot = 'christophe'
cpt = 0
for voyelle in voyelles:
cpt += mot.count(voyelle)
cpt = len(mot) - cpt
print(cpt)
7
Exercice 5#
Réaliser un script qui permet de vérifier qu’un compte bancaire est correct. En Belgique, un compte bancaire sous format IBAN commence par “BE” et est suivi de 14 chiffres. Les différentes étapes pour déterminer s’il s’agit d’un compte IBAN valide sont les suivantes (https://fr.wikipedia.org/wiki/International_Bank_Account_Number):
Prendre les 4 premiers caractères et les placer à la fin de la chaîne de caractère
Remplacer les lettres “B” et “E” par leur équivalent hexadécimal (B=11 et E=14)
Vérifier que le modulo du nombre obtenu à l’étape 2 par 97 est égal à 1.
def verification_compte_bancaire(iban):
x = iban[4:] + iban[0:4]
x = x.replace("B", "11")
x = x.replace("E", "14")
x = int(x)
if x % 97 == 1:
return True
else:
return False
compte = "BE62510007547061"
print(verification_compte_bancaire(compte))
True