Exercices de Python corrigés
1- Écrire un programme en langage Python qui demande à l’utilisateur de saisir son nom et de lui
afficher son nom avec un message de bienvenue !
Solution
nom = input("Tapez votre nom : ")
print("Bienvnue : " , nom)
2- Écrire un programme en Python qui demande à l’utilisateur de
saisir deux nombres a et b et de lui afficher leur somme : a + b
Solution
# -*- coding: utf-8 -*-
# demander à l'utilisateur de saisir les valeurs de a et de b
a = input("Tapez la valeur du nombre a : ")
b = input("Tapez la valeur du nombre b : ")
# Convertir les chaines de caractères en entier
a = int(a)
b = int(b)
s = a+b
print("La somme de a et de b est a + b = " , s)
3- Écrire un programme en Python qui demande à l’utilisateur de
saisir deux nombres a et b et de lui afficher leur maximum.
Solution
# -*- coding: utf-8 -*-
# lire les valeurs de a et b
a = int(input("Tapez la valeur du nombre a : "))
b = int(input("Tapez la valeur du nombre b : "))
# Faire un test de comparaison pour trouver le plus grand
if (a > b):
print("Le maximum de a et de b est : a = ", a)
else:
print("Le maximum de a et de b est : b = ", b)
4- Écrire un programme en langage Python qui affiche les 100
premiers nombres entiers
Solution
# -*- coding: utf-8 -*-
# parcourir les 100 premiers nombres à l'aide de la boucle for
for i in range(0,101):
print(i)
""" après exécution le programme affiche les 100 premiers nombres :
0
1
2
.
.
.
100
"""
5- Écrire un programme en langage Python qui demande à
l’utilisateur de saisir son nombre entier et de lui afficher si ce
nombre est pair ou impair.
Solution
# -*- coding: utf-8 -*-
# Lire la valeur de n
n = input("Type value of the integer n : ")
# Convertir n en entier
n = int(n)
# Tester si n est pair ou non
if(n%2 == 0):
print("Le nombre '", n, "' tapé est pair ")
else:
print("Le nombre '", n, "' tapé est impair ")
6- Écrire un programme en langage Python qui demande à
l’utilisateur de saisir son âge et de lui afficher le message «
vous êtes Majeur ! » si l’âge tapé est supérieur ou égale à 18 et
le message « vous êtes mineur ! » si l’âge tapé est inférieur à 18
Solution
# -*- coding: utf-8 -*-
# Demander à l'utilisateur de taper son âge
age = int(input("Tapez votre age : "))
if(age > 18):
print("Vous êtes majeur !")
else:
print("Vous êtes mineur !")
6- Écrire un programme en Python qui demande à l’utilisateur de
saisir 3 nombre x, y et z et de lui afficher leur maximum.
Solution
# -*- coding: utf-8 -*-
# Demander à l'utilisateur de taper 3 nombres a, b, c
a = int(input("Type a value of the number a "))
b = int(input("Type a value of the number b "))
c = int(input("Type a value of the number c "))
# définir et initialiser le maximum à zero
max = 0
if(a > b):
max = a
else:
max = b
if(max < c):
max = c
else:
max = max
print("Le maximum des trois nombre est : max(a,b,c) = ", max)
7- Écrire un programme en Python qui demande à l’utilisateur de
saisir un nombre entier n et de lui afficher la valeur de la somme
1 + 2 + … + n = ?
Solution
# -*- coding: utf-8 -*-
# Demander à l'utilisateur de saisir la valeur de l'entier n
n = int(input("Type a value of the integer n "))
# define et initialiser une variable auxiliaire j
j = 0
for i in range(1,n+1):
j = j + i
print("La somme 1 + 2 + 3 + ...+ ",n," = : ", j)
8- Écrire un programme en Python qui demande à l’utilisateur de
saisir un nombre entier n et de lui afficher n !
Solution
# -*- coding: utf-8 -*-
# Demander à l'utilisateur de saisir la valeur de l'entier n
n = int(input("Type a value of the integer n "))
# define et initialiser une variable auxiliaire j
j = 0
for i in range(1,n+1):
j = j*i
print("Factorielle de n est : ",n,"! = : ", j)
9- Écrire un programme en Python qui demande à l’utilisateur de
saisir le rayon d’un cercle et de lui renvoyer la surface et le
périmètre.
Solution
# -*- coding: utf-8 -*-
# importer le nombre pi à partir de la bibliothèque math
from math import pi
# lire la valeur du rayon r
r = int(input("Saisissez la valeur du rayon r: "))
# calcul du périmètre du cercle
P = 2*pi*r
# calcul de la surface du cercle
S = (pi**2)*(r**2)
print("Le périmètre du cercle de rayons r =",r," est P = ", P)
print("La surface du cercle de rayons r =",r," est S = ", S)
10- Écrire un programme en Python qui demande à l’utilisateur de
saisir un nombre entier n et de lui afficher tous les diviseurs de
ce nombre.
Solution
# -*- coding: utf-8 -*-
n = int(input("Tapez la valeur de l'entier n "))
# parcourir tous les entiers inféreir ou égale à n
for i in range(1,n+1):
# tester si i est un diviseur de n
if(n%i==0):
print("Le nombre ",i," est un diviseur de ",n)
11- 1) – Écrire un programme en Python qui demande à l’utilisateur
de saisir un nombre entier n et de lui afficher la table de
multiplication de ce nombre.
2) – Améliorez le programme afin qu’il affiche les tables de
multiplications de tous les nombres compris entre 1 et 9
Solution
Table de multiplication d’un entier saisi au clavier
# -*- coding: utf-8 -*-
# Lire la valeur de l'entier n
n = int(input("Tapez la valeur de n "))
print("La table de multiplication de : ", n," est :")
for i in range(1,10):
print(i , " x ", n, " = ",i*n)
code python qui fornit les tables de multiplications de
tous les nombres 1, 2, 3, …, 9
# -*- coding: utf-8 -*-
for n in range(1,10):
#insert separator
print("--------------------------------------")
print("la table de multiplication de : ", n," est :")
for i in range(1,10):
print(i , " x ", n, " = ",i*n)
12- Écrire un programme en langage Python qui demande à
l’utilisateur de saisir deux nombres entiers a et b et de lui
afficher le quotient et le reste de la division euclidienne de a
par b.
Solution
# -*- coding: utf-8 -*-
# Lire les valeurs de a et b
a = int(input("Tapez la valeur de l'entier a : "))
b = int(input("Tapez la valeur de l'entier b : "))
q = a//b
r = a%b
print("Le quotient de la division euclidienne de a par b est : q = ", q)
print("Le reste de la division euclidienne de a par b est : r = ", r)
13- Écrire un programme en langage Python qui demande à
l’utilisateur de saisir un nombre entier n et de lui afficher si
ce nombre est carré parfait ou non.
Solution
# -*- coding: utf-8 -*-
# Lire la valeur de l'entier n
n = int(input("Tapez la valeur de n : "))
# On utilise un compteur j
j = 0
for i in range(0,n):
if(i**2 == n):
j = j +1
if(j > 0):
print("L'entier ", n , " est un carré parfait")
else:
print("l'entier ", n , " n'est pas est un carré parfait")
14- Écrire un programme en langage Python qui demande à
l’utilisateur de saisir un nombre entier n et de lui afficher si
ce nombre est premier ou non.
Solution
# -*- coding: utf-8 -*-
# Lire la valeur de l'entier n
n = int(input("Tapez la valeur de n : "))
# on utilise un compteur qui compte le nombre de diviseurs de n
j = 0
for i in range(1, n+1):
if(n%i == 0):
j = j + 1
# On teste si le nombre de diviseurs de n est = 2 pour conclure que n est
premier
if( j == 2):
print("Le nombre ", n , " est premier")
else:
print("Le nombre ", n , " n'est pas premier")
15- Écrire un programme en langage Python qui permet de parcourir et afficher les
caractères d’une variable du type chaine de caractères. Exemple pour s = « Python » ,
le programme affiche les caractères :
P
y
t
h
o
n
1ère méthode
# -*- coding: utf-8 -*-
# Demander à l'utilisateur de saisir une chaine de caractères
s = input("Saisisir une chaine de caractères s : ")
# obtenir la longueur de s
n = len(s)
for i in range(0, n):
print(s[i])
2ème méthode
# Demander à l'utilisateur de saisir une chaine de caractères s
s = input("Tapez une chaine de caractères s : ")
for x in s:
print(x)
16- Écrire un programme en Python permettant d’afficher pour une chaine de
caractères donnée, le nombre d’occurrences de chaque caractère dans la chaine.
Exemple pour la chaîne de caractère s = « [Link] » le programme doit afficher :
Le caractère : » P » figure 1 fois dans la chaine s
Le caractère : » y » figure 1 fois dans la chaine s
Le caractère : » t » figure 1 fois dans la chaine s
Le caractère : » h » figure 1 fois dans la chaine s
Le caractère : » o » figure 2 fois dans la chaine s
Le caractère : » n » figure 1 fois dans la chaine s
Le caractère : » . » figure 1 fois dans la chaine s
Le caractère : » r » figure 1 fois dans la chaine s
Le caractère : » g » figure 1 fois dans la chaine s
# -*- coding: utf-8 -*-
s = "Python est un langage de programmation"
# regrouper les caractères de s dans un ensemble pour éviter les répetitions
unique =set({})
for x in s:
if x not in unique:
[Link](x)
print("Le nombre d'occurrences du caractère: ", x, " dans la chaine s
est :", [Link](x))
"""
Ce qui affiche après exécution :
Le nombre d'occurrences du caractère: P dans la chaine s est : 1
Le nombre d'occurrences du caractère: y dans la chaine s est : 1
Le nombre d'occurrences du caractère: t dans la chaine s est : 3
Le nombre d'occurrences du caractère: h dans la chaine s est : 1
Le nombre d'occurrences du caractère: o dans la chaine s est : 3
Le nombre d'occurrences du caractère: n dans la chaine s est : 4
Le nombre d'occurrences du caractère: dans la chaine s est : 5
Le nombre d'occurrences du caractère: e dans la chaine s est : 3
Le nombre d'occurrences du caractère: s dans la chaine s est : 1
Le nombre d'occurrences du caractère: u dans la chaine s est : 1
Le nombre d'occurrences du caractère: l dans la chaine s est : 1
Le nombre d'occurrences du caractère: a dans la chaine s est : 4
Le nombre d'occurrences du caractère: g dans la chaine s est : 3
Le nombre d'occurrences du caractère: d dans la chaine s est : 1
Le nombre d'occurrences du caractère: p dans la chaine s est : 1
Le nombre d'occurrences du caractère: r dans la chaine s est : 2
Le nombre d'occurrences du caractère: m dans la chaine s est : 2
Le nombre d'occurrences du caractère: i dans la chaine s est : 1
16- Écrire un programme en Python qui demande à l’utilisateur de saisir une chaine
de caractère s et de lui renvoyer un message indiquant si la chaine contient la lettre ‘a’
tout en indiquant sa position sur la chaine. Exemple si l’utilisateur tape la chaine s =
‘langage’ le programme lui renvoie : La lettre ‘a’ se trouve à la position : 1 La lettre
‘a’ se trouve à la position : 4
Solution
# -*- coding: utf-8 -*-
# Demander à l'utilisateur de tapez la valeur de s
s = input("Tapez la valeur de s : ")
# Obtenir la longueur de la chaine s
n = len(s)
# Parcourir la chaine s tout en recherchant le caractère 'a'
for i in range(0,n):
# Tester si le caractère rencontré est égale à 'a'
if(s[i] == 'a'):
print("Le caractère 'a' se trouve à la position : ", i , " dans la
chaine s")
17- Écrire un programme en Python qui permet de lister les chaines qui composent la
liste l = [« laptop », « iphone », « tablet »] tout en indiquant la longueur de chaque
chaîne.
Solution
l = ["laptop", "iphone", "tablet", "printer", "Ipad"]
# parcourir les éléments de la liste l
for x in l:
print(x, " is in list l, its length is: ", len(x))
18- Écrire un programme en langage Python, permettant d’échanger le premier et le
dernier caractère d’une chaîne donnée.
Solution
# -*- coding: utf-8 -*-
# definir un exemple de chaine s
s = "[Link]"
# obtenir la longueur de la chaine s
n = len(s)
# obtenir le premier caractère de la chaine s
first = s[0]
last = s[n-1]
# extraire la sous chaine obtenue à partir de s en ignorant le premier et le
dernier caractère
s1 = s[1:n-1]
# construire une nouvelle chaine en changeant le premier et le dernier caractère
s2 = last + s1 + first
print(s2)
19- Écrire un programme en langage Python, qui permet de compter
le nombre de voyelles dans une chaîne donnée. Exemple pour la
chaîne s=‘anticonstitutionnellement’ le programme doit renvoyer le
message suivant : La chaîne anticonstitutionnellement possède 10
voyelles.
Solution
# definir les voyelles dans un ensemble
vowels= {'a','e','y','u','i','o'}
# definir une chaine de caractères
s = "anticonstitutionellement"
# obtenir la longueur de la chaine s
n = len(s)
# initialiser le nombre de voyelles à 0
number_vowels = 0
# parcourir les caractères de la chaine s
for i in range(0,n):
if(s[i] in vowels):
number_vowels = number_vowels + 1
print("Le nombre de voyelles de la chaine 's' est : ", number_vowels)
20- Écrire un programme en Python, qui permet de renvoyer le
premier mot d’un texte donné. Exemple pour le texte : t =’Python
est un merveilleux langage de programmation’, le programme doit
renvoyer Python
Solution
# -*- coding: utf-8 -*-
# programme qui détermine le premier mot d'une chain de cractères en Python
# définir une chaine de caractères s
s = "Apprendre Python sur [Link]"
# initialiser le premier mot à une chaine vide
premierMot = ""
# initialiser le compteur
i = 0
# chercher le premier espace sur la chaine
while (s[i] != " "):
premierMot = premierMot + s[i]
i = i + 1
print("Le premier mot de la chaine s est : ", s[:i])
21- Écrire un programme en langage Python qui demande à
l’utilisateur de saisir le nom d’un fichier et de lui renvoyer son
extension. Exemple si l’utilisateur saisie [Link], le
programme lui renvoie le message « L’extension du fichier est
.pdf »
Solution
# -*- coding: utf-8 -*-
# Demander à l'utilisateur de saisir un nom de fichier
fichier = input("Saisir le nom du fichier avec son extension: ")
# convertir fichier en liste
L = [Link](".")
extensionFichier = "."+ L[-1]
print("L'extension du fichier est : ", extensionFichier)
Un palindrome est un mot dont l’ordre des lettres reste le même si
on le lit de gauche à droite ou de droite à gauche. Par exemple :
‘laval’ , ‘radar, ‘sos’… sont des palindromes. Ecrire un programme
en Python qui demande à l’utilisateur de saisir un mot et de lui
renvoyer s’il s’agit d’un palindrome ou non?
Solution
# -*- coding: utf-8 -*-
# Demander à l'utilisateur de saisir un mot
mot = input("Saisir un mot : ")
# inverser le mot
inverse = mot[::-1]
if(mot == inverse):
print("Le mot :", mot," est un palindrome")
else:
print("Le mot : ", mot, " n'est pas un palindrome")
22- Écrire un programme qui demande à l’utilisateur de saisir un
mot et de lui renvoyer son inverse. Exemple si l’utilisateur saisi
le mot python , le programme lui renvoie nohtyp.
Solution
Première méthode
# -*- coding: UTF-8 -*-
# Lire la variable string s
s = input("Tapez une chaine s : ")
# obtenir l'inverse de la chaine s
s1 = s[::-1]
print("L'inverse de la chaine : '",s,"' est : ", s1)
Seconde méthode
# -*- coding: UTF-8 -*-
# Lire la variable string s
s = input("Tapez une chaine s : ")
# initialiser l'inverse à une chaine vide
inv = ""
# construction de l'inverse d'une façon récursive
for x in s:
inv = x + inv
print("L'inverse de la chaine : '",s,"' est : ", inv)
22- Écrire un programme qui demande à l’utilisateur de saisir un
texte et de lui renvoyer tous les mots commençant par la lettre a.
Solution
1ère méthode
# -*- coding: UTF-8 -*-
# Lire la chaine s
s = input("Tapez une chaine de caractères s : ")
# convertir la chaine s en une liste
s = [Link]()
# chercher tous les éléments de la liste qui commencent par la lettre 'a'
for x in s:
if(x[0] == 'a'):
print("Le mot : ", x, " commence par la lettre 'a'")
2ème méthode
# -*- coding: UTF-8 -*-
# Lire la chaine s
s = input("Tapez une chaine de caractères s : ")
# convertir la chaine s en une liste
s = [Link]()
# obtenir la longueur de la liste s
n = len(s)
# rechercher les éléments de la liste qui commencent par la lettre 'a'
for i in range(0,n):
if(s[i][0] == 'a'):
print("Le mot : '", s[i], "' commence par la lettre 'a'")
"""
Example of execution : if you type "Me and you are beginner"
You will receive the message :
The word : 'and' begin with the letter 'a'
The word : 'are' begin with the letter 'a'
23- Écrire un programme en Python sous forme de fonction qui
calcul la somme des éléments d’une liste de nombres. Et un autre
qui permet de multiplier tous les éléments d’une liste de nombres.
Solution
# -*- coding: UTF-8 -*-
# Fonction qui calcul le produit des éléments d'une liste
def mult(l):
m = 1
# Création du produit en parcourant les éléments de la liste
for x in l:
m = m*x
return m
print(mult([2,5,3]))
# Fonction qui calcul la somme des éléments d'une liste
def sum(l):
s = 0
# Création de la somme en parcourant les éléments de la liste
for x in l:
s = s + x
return s
print(sum([2,5,3]))
24- Écrire un programme Python qui teste si une liste est vide ou
non. Même question pour une chaine de caractères.
Solution
Première méthode
# -*- coding: UTF-8 -*-
# Tester si une liste L est vide
# définir une liste L
L = list()
# essayer si la liste L est vide
if L == []:
print ("La liste L est vide")
else:
print ("La liste L n'est pas vide")
#Tester si une chaîne est vide
# définir une chaîne s
s = ""
# Tester si une chaîne s est vide
if s == "":
print ("La chaîne s est vide")
else:
print ("La liste n'est pas vide")
2ème méthode
# Tester si une liste Le est vide
# définir une liste L
L = list()
# 1) - Tester si la liste L est vide en utilisant la fonction len ()
if len(L) == 0:
print ("La liste L est vide")
else:
print ("La liste L n'est pas vide")
#2) - Tester si une chaîne s est vide
# définir une chaîne s
s = ""
#Tester si la chaîne s est vide en utilisant la fonction len ()
if len (s) == 0:
print ("La chaîne s est vide")
else:
print ("La liste L n'est pas vide")
25- Écrire un programme Python qui permet de supprimer les
éléments dupliqués d’une liste.
Solution
1ère méthode
# -*- coding: UTF-8 -*-
# définit une fonction qui supprime les doublons dans la liste
def removeDuplicate(l):
# définir et initialiser la liste sans élément dupliqué
unique = []
# construction de la liste sans éléments dupliqués
for x in l:
if x not in unique:
[Link](x)
return unique
# Exemple
l = [2, 7, 13, 2, 17, 13, 2, 7, 13]
print (removeDuplicate(l))
2ème mthode
# -*- coding: utf-8 -*-
# définir la fonction qui supprie les élément dupliqués d'une liste
def removeDuplicate(l):
# convertir la liste en un ensemble
SET = set(l)
# reconvertir l'ensemble en une liste
L = list(SET)
return L
# Exemple
l = [2, 7,7, 13, 2, 17,25, 17, 13, 15, 15, 2, 7, 13]
print(removeDuplicate(l))
26- Écrire une fonction en Python qui permet de comparer deux
listes et de nous indiquer si ces deux listes ont une valeur
communes ou non.
Solution
# -*- coding: UTF-8 -*-
def elementsCommun(l1,l2):
compteur = 0
for x in l1:
if x in l2:
compteur =compteur + 1
if compteur != 0:
return True
else:
return False
l1 = [2,35,5,6,21]
l2 = [2,13,5,7,19]
print(elementsCommun(l1,l2))
# Ce qui affiche True
27- Écrire un programme Python qui permet d’extraire la liste des
entiers pairs et la liste des entiers impairs d’une liste de
nombres.
Solution
# -*- coding: UTF-8 -*-
def extract(l):
pair = []
impair = []
for x in l:
if(x%2 == 0):
[Link](x)
else:
[Link](x)
print("La liste des entiers pair est : ",pair)
print("La liste des entiers impair est : ",impair)
# Tester l'algorithme
l =[23,4,56,7,8,9,0,18,7,6,55,43,2]
print(extract(l))
"""
Ce qui affiche après exécution :
La liste des entiers pair est : [4, 56, 8, 0, 18, 6, 2]
La liste des entiers impair est : [23, 7, 9, 7, 55, 43]
28- Écrire un programme en Python qui renvoie toutes les listes
obtenues en permutant les termes d’une liste donnée.
Solution
# -*- coding: UTF-8 -*-
"""
importation du module itertools:
Ce module implémente de nombreux blocks d'itérateurs inspirées des constructions
APL, Haskell et SML.
"""
import itertools
# Exemple d'utilisation
l = [1,2,3,4]
permutations = [Link](l)
L = list(permutations)
print ("Les listes obtenues en échangeant les termes de la liste l:\n", L)
29- Écrire un programme en Python qui demande à l’utilisateur de
saisir une chaîne de caractères et d’afficher les caractères
d’indice pair. Exemple pour la chaîne s = « Python », le programme
renvoie ‘Pto’.
Solution
1 ère méthode
# -*- coding: utf-8 -*-
# Lire la chaine s
s = input("Saisissez la chaine s :")
s1 = ""
i = 0
while(i<len(s)-1):
s1 = s1 + s[i]
i = i +2
print(s1)
2 ème méthode
# -*- coding: utf-8 -*-
"""
# Lire la chaine s
s = input("Saisissez la chaine s :")
# parcourt de la chaine s avec le pas = 2
print(s[0:len(s):2])
30- Étant donnée la liste des notes des élèves : notes = [12 , 04
, 14 , 11 , 18 , 13 , 07, 10 , 05 , 09 , 15 , 08 , 14 , 16]
Écrire un programme Python qui permet d’extraire de cette liste
et créer une autre liste qui contient uniquement les notes au
dessus de la moyenne ( les notes >= 10 )
Solution
# -*- coding: utf-8 -*-
notes = [12, 4, 14, 11, 18, 13, 7, 10, 5, 9, 15, 8, 14, 16]
# définir la liste qui contiendra les notes au-dessus de la moyenne
moyenne = []
for x in notes:
# ajouter uniquement les notes >= 10 à la liste moyenne
if(x >= 10):
[Link](x)
print ("La liste contenant uniquement les notes supérieures à la moyenne
est:\n", moyenne)
31- Écrire un programme en Python permettant de supprimer
les espaces multiples dans une chaîne s.
Solution
# -*- coding: utf-8 -*-
s = "Exemple de texte avec des espaces multiple"
# Transformer le texte en une liste
L = [Link]()
# initialiser le texte sans espace à un texte vide
texteSansEspace = ""
# Reconstruire le texte en parcourant les éléments de la liste
for x in L:
texteSansEspace = texteSansEspace + x + " "
print(texteSansEspace)
32- Écrire un programme Python qui permet de regrouper dans une
liste les mots communs à deux chaines s1 et s2.
Solution
# -*- coding: utf-8 -*-
def motsCommuns(s1,s2):
L1 = [Link]()
L2 = [Link]()
communs = []
for x in L1:
if(x in L2):
[Link](x)
return communs
# Exemple
s1 = " Python est un langage de programmation de haut niveau"
s2 = " Python est un langage interprété"
print("La liste des mots communs à s1 et s2 est : ",motsCommuns(s1,s2))
33- Écrire un programme Python qui permet de chercher le mot le
plus long sur une chaîne s
Solution
# -*- coding: utf-8 -*-
def motMax(s):
L = [Link]()
mot = ""
for x in L:
if(len(x)>len(mot)):
mot = x
return mot
# Exemple
s = "Python est un langage de programmation orienté objet"
print("Le mot le plus long dans la chaine s est : ", motMax(s))
Ce qui affiche à l’exécution:
Le mot le plus long dans la chaine s est : programmation
34- Écrire un programme Python qui permet de compter le nombres de
mots sur une chaîne s. On suppose que le texte est bien formé ( un
espace après chaque ponctuation et aucun espace avant la
ponctuation)
Solution
# -*- coding: utf-8 -*-
s = "Python est un langage de programmation. Python est orienté objet"
# Transformation de la chaine s en une liste
L = [Link]()
# Récupération du nombre d'élément de la liste L
nombreMots = len(L)
print("Le nombre de mot de la chaine s est : ", nombreMots)
35- Écrire un programme Python qui permet d’échanger le premier et
le dernier mot. Exemple si s = « Pyhon est un langage de
programmation », le programme renvoie la chaine s2 =
« programmation est un langage de Pyhon ». On suppose que le
texte est bien formé ( un espace après chaque ponctuation et aucun
espace avant la ponctuation)
Solution
# -*- coding: utf-8 -*-
s = "Python est un langage de programmation"
# Transformation de la chaine s en une liste L
L = [Link]()
# Récupération du nombre d'élément de la liste L
n = len(L)
# récupération du premier et dernier élément
premier = L[0]
dernier = L[n-1]
# On supprime le premier et le dernier élément de la liste L
[Link](n-1)
[Link](0)
# On reconvertit la liste L en une chaine
s1 = " ".join(L)
# échanger le premier et le dernier élément dans la chaine s
s = dernier + " " + s1 + " " + premier
print(s)