STRING

STRING:

.

STRING programme
Un programme peut manipuler des caractères alphabétiques, des mots, des phrases, ou des suites de symboles quelconques, il existe pour cet usage des structures de données particulières que l’on appelle « chaînes de caractères ». Une donnée de type string peut se définir comme une suite quelconque de caractères.

# 0305 acces string.py

# les chaines de caracteres

print("exemple 4 :")

phrase1 = " oui,  "

phrase2 =" je suis une chaîne de caractères "

print(phrase1,phrase2)

print("exemple 5 :")

ch="Christian"

print("la chaîne est" ,ch)

print(ch[0],ch[3],ch[5])

 

# 0305 string.py

# acces individuel

print("exemple 5 :")

ch="Christian"

print("la chaîne est" ,ch)

print(ch[0],ch[3],ch[5])

.

.

Accès aux caractères individuels d’une chaîne :

.

STRING programme
Pour accéder à un caractère bien déterminé, on utilise le nom de la variable qui contient la chaîne et on lui accole, entre deux crochets, l’index numérique qui correspond à la position du caractère dans la chaîne.

# 0306 string.py

# acces individuel

print("exemple 5 :")

ch="Christian"

print("la chaîne est" ,ch)

print(ch[0],ch[3],ch[5])

.

Opérations élémentaires sur les chaînes :

.

  • assembler plusieurs petites chaînes pour en construire de plus grandes avec le signe +.
  • déterminer la longueur d’une chaîne avec la fonction len ( ).
  • convertir en nombre véritable une chaîne de caractères qui représente un nombre avec la fonction int( ).
programme Résultat

# 0307 longueur string.py

#type de données

a = "Petit poisson"

b = " deviendra grand"

print(a)

print(b)

c = a+b

print(c)

print("longueur de la chaîne",len(c))

d=input("rentrer un nombre entier :")

dn=int(d)

e=input("rentrer un nombre entier :")

en=int(e)

print(dn," + ",en," = ",dn+en)

Petit poisson deviendra grand Petit poisson deviendra grand longueur de la chaîne 29 rentrer un nombre entier :5 rentrer un nombre entier :5 5 + 5 = 10

.

METHODE SUR LES CHAÏNES:

.

Les chaînes de caractères sont des objets, on peut donc agir avec des fonctions associées aux chaînes.

ch="Alice et Bob"
Méthode Effet
split()
Convertit un chaîne en une liste de sous-chaînes.
ch.split() : ['Alice', 'et', 'Bob']
lower()
Convertit une chaîne de caractères en minuscules.
minuscule=ch.lower() : minuscule=" alice et bob "
upper()
Convertit une chaîne de caractères en majuscules.
ch.upper() : ALICE ET BOB
title()
<
Convertit en majuscules l’initiale de chaque mot de la une chaîne de caractères.
ch.title() : Alice Et Bob
capitalize()
Met en majuscule la première lettre de la chaîne.
minuscule=" alice et bob " minuscule.capitalize() : Alice et bob
swapcase()
Convertit une chaîne de caractères en majuscules si elle est en minuscule et fait le contraire si la chaîne est en minuscules.
MAJ=minuscule.swapcase() MAJ.swapcase() : alice et bob minuscule.swapcase() : ALICE ET BOB
strip()
Enlève les espaces aux début et à la fin de la chaîne.
ch=" Alice et Bob " minuscule=" alice et bob " sans\_es=minuscule.strip() : alice et bob
replace(char1,char2)
Remplace char1 par char2 dans la chaîne de caractères
ch.replace("e","\*") : Alic\* \*t Bob
index(char)
Donne l’indice du premier caractère char
ch.index("o"): 10

.

programme Résultat

# 0308 methodes chaine de caracteres.py

ch="    Alice et Bob     "

print('ch="   Alice et Bob   " : ',ch)

lst=ch.split()

print("ch.split() : ",lst)

minuscule=ch.lower()

print("ch.lower() : ",minuscule)

majuscule=ch.upper()

print("ch.upper() : ",majuscule)

titre=minuscule.title()

print("minuscule.title() : ", titre)

Titre=minuscule.capitalize()

print("minuscule.capitalize() : ", Titre)

MAJ=minuscule.swapcase()

print("minuscule=ch.lower()")

print('minuscule="',minuscule,'"')

sans_es=minuscule.strip()

print("sans_es=minuscule.strip() : ",sans_es,)

print("minuscule.swapcase() : ",MAJ)

MIN=MAJ.swapcase()

print("MAJ=minuscule.swapcase()")

print("MAJ.swapcase() : ",MIN)

REP=ch.replace("e","*")

print('ch.replace("e","*") : ',REP)

print("ch.index() : ",ch.index("o"))

ch="   Alice et Bob   " :      Alice et Bob    

ch.split() :  ['Alice', 'et', 'Bob']

ch.lower() :      alice et bob    

ch.upper() :      ALICE ET BOB    

minuscule.title() :      Alice Et Bob    

minuscule.capitalize() :      alice et bob    

minuscule=ch.lower()

minuscule="     alice et bob      "

sans_es=minuscule.strip() :  alice et bob

minuscule.swapcase() :      ALICE ET BOB    

MAJ=minuscule.swapcase()

MAJ.swapcase() :      alice et bob    

ch.replace("e","*") :      Alic* *t Bob    

ch.index() :  14

.

Conversion des chaînes de caractères en nombres :

La fonction format() retourne des versions formatées des chaînes de caractères.

.

FORMATAGE DES NOMBRES:

Le Binaire :

.

Conversion d’une chaîne représentant un nombre de base 10 en nombre binaire.

.

programme Résultat

#0309 formatage nombre binaire.py

#conversion decimal binaire

nbre=int(input("Entrer un nombre entier en base 10 : "))

rep='{0:d} (base 10) = {0:b} binaire'.format(nbre)

print(rep)

Entrer un nombre entier en base 10 : 12

12 (base 10) = 1100 binaire

.

Hexadécimal :

Conversion d’une chaîne représentant un nombre de base 10 en nombre hexadécimal.

.

programme Résultat
'>#0310 formatage nombre.py

#conversion decimal hexadecimal

nbre=int(input("Entrer un nombre entier en base 10 : "))

rep='Le nombre {0:d} (base 10) est égal à {0:x} en hexadécimal'.format(nbre)

print(rep)

print(rep.upper())

Entrer un nombre entier en base 10 : 12

Le nombre 12 (base 10) est égal à c en hexadécimal

LE NOMBRE 12 (BASE 10) EST ÉGAL À C EN HEXADÉCIMAL

.

Base huit :

Conversion d’une chaîne représentant un nombre de base 10 en nombre en base huit.

.

programme Résultat

#0311 formatage nombre base huit.py

#conversion decimal base huit

nbre=int(input("Entrer un nombre entier en base 10 : "))

rep='{0:d} (base 10) = {0:o} base huit'.format(nbre)

print(rep)

Entrer un nombre entier en base 10 : 12

12 (base 10) = 14 base huit

.

AFFICHAGE DES NOMBRES EN CHAÏNES DE CARACTERES :

.

Formatage

#0311 formatage des nombres.py

quotient = 1.0/8.1000000729

print("La longueur du quotient est de  ",len(str(quotient)))

print ("Le quotient est ",quotient)

print(60*"*")

format_normal = "Le quotient est {}".format(quotient)                

# par défaut  19 espaces

print('format_normal = "Le quotient est {}".format(quotient) ')

print(format_normal)

print(60*"*")

format_float = "Le quotient est {:f}".format(quotient)

print('format_float = "Le quotient est {:f}".format(quotient)')

print(format_float)

# format decimal (float) par défaut - 7 décimales

print(60*"*")

format_2decimales = "Le quotient est {:.2f}".format(quotient)

print('format_2decimales = "Le quotient est {:.2f}".format(quotient)')

# 2 décimales

print(60*"*")

print(format_2decimales)

dix = "Le quotient est {:10.2f}".format(quotient*1000000)

print('dix = "Le quotient est {:10.2f}".format(quotient) ')

print(' 10 signifie 7 entiers +,+ 2 décimales (7+1+2=10)')

print('Le quotient est -------.-- ')

print(dix)

print(60*"*")

dix_droit = "Le quotient {:<10.2f} est affiché à droite".format(quotient)   

print("Justification à droite")

print('dix_droit = "Le quotient {:<10.2f} est affiché à droite".format(quotient)')

print(dix_droit)

dix_d='"Le quotient {:<10.2f} est affiché à droite".format(quotient) '

print('dix_droit='"Le quotient {:<10.2f} est affiché à droite".format(quotient) )

print(60*"*")

print(60*"*")

print(" Justification à gauche")

dix_gauche = "Le quotient  {:>10.2f} est affiché à gauche".format(quotient)

print('dix_gauche="Le quotient  {:>10.2f} est affiché à gauche".format(quotient) ')

print("Le quotient  ------*.**")

print(dix_gauche)    

print(60*"*")

print("Justification au centre")

print('dix_centre = "Le quotient {:^10.2f} est affiché au centre".format(quotient)  ')

dix_centre="Le quotient {:^10.2f} est affiché au centre".format(quotient)

print(dix_centre)

print(60*"*")

print("Remplissage ---")

print('six_plein = "Le quotient  {:*>6.2f} est affiché avec ---".format(quotient)  ')

six_plein="Le quotient  {:->6.2f} est affiché avec ---".format(quotient)

print(six_plein)

print(60*"*")

print("Remplissage ☺")

sept_x = "Le quotient {:☺=7.2f} est arrondi à deux décimales".format(quotient)

print('sept_x="Le quotient {:☺=10.2f} est arrondieà deux décimales".format(quotient)')

print(sept_x)

.

Résultat

La longueur du quotient est de   19

Le quotient est  0.12345678901234568

************************************************************

format_normal = "Le quotient est {}".format(quotient)

Le quotient est 0.12345678901234568

************************************************************

format_float = "Le quotient est {:f}".format(quotient)

Le quotient est 0.123457

************************************************************

format_2decimales = "Le quotient est {:.2f}".format(quotient)

************************************************************

Le quotient est 0.12

dix = "Le quotient est {:10.2f}".format(quotient)

 10 signifie 7 entiers +,+ 2 décimales (7+1+2=10)

Le quotient est -------.--

Le quotient est  123456.79

************************************************************

Justification à droite

dix_droit = "Le quotient {:<10.2f} est affiché à droite".format(quotient)

Le quotient 0.12       est affiché à droite

dix_droit=Le quotient 0.12       est affiché à droite

************************************************************

 Justification à gauche

dix_gauche="Le quotient  {:>10.2f} est affiché à gauche".format(quotient)

Le quotient  ------*.**

Le quotient        0.12 est affiché à gauche

************************************************************

Justification au centre

dix_centre = "Le quotient {:^10.2f} est affiché au centre".format(quotient) 

Le quotient    0.12    est affiché au centre

************************************************************

Remplissage ---

six_plein = "Le quotient  {:*>6.2f} est affiché avec ---".format(quotient) 

Le quotient  --0.12 est affiché avec ---

☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺☻☺

Remplissage ☺

sept_x="Le quotient {:☺=10.2f} est affiché avec ☺".format(quotient)

Le quotient ☺☺☺0.12 est affiché avec ☺

.