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 = Christophe

  • nom = 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