0% ont trouvé ce document utile (0 vote)
9 vues7 pages

Fonctions Python pour la gestion de données

Le document présente une série d'exercices de programmation en Python, incluant des fonctions pour vérifier l'égalité de nombres, la divisibilité, la conversion de temps, le calcul de factorielle et de Fibonacci, ainsi que des manipulations de chaînes de caractères. Il aborde également des structures de données comme un tableau de vélos avec des informations sur leur type et état, et propose des fonctions pour interagir avec ces données. Enfin, des exercices sur la récursivité et la recherche de vélos disponibles à des stations spécifiques sont inclus.

Transféré par

Boky Pdf Tout
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues7 pages

Fonctions Python pour la gestion de données

Le document présente une série d'exercices de programmation en Python, incluant des fonctions pour vérifier l'égalité de nombres, la divisibilité, la conversion de temps, le calcul de factorielle et de Fibonacci, ainsi que des manipulations de chaînes de caractères. Il aborde également des structures de données comme un tableau de vélos avec des informations sur leur type et état, et propose des fonctions pour interagir avec ces données. Enfin, des exercices sur la récursivité et la recherche de vélos disponibles à des stations spécifiques sont inclus.

Transféré par

Boky Pdf Tout
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

 Nom et Prénom: ANONJARA Josias Hamlain

 Numéro: 05
 Mention: Génie Mathématiques

 EXERCICE PARTIE 1

Exercice 1
On écrit une fonction qui reçoit trois nombres entiers en paramètre et qui renvoie True si au moins deux
des trois entiers sont égaux, sinon False.

def au moins deux egaux(a, b , c)

return a == b or a == c or b == c

Exercice 2
On écrit une fonction qui reçoit un nombre entier en paramètre et qui renvoie true si cet entier est divisible
par 10 mais pas par 3.

def divisible par 10 mais pas par 3(n)

return(n % 10)==0 and(n % 3)= 0,

Exercice 3
écrivons une fonction qui prend en paramètre donné en heurs minute , seconde et qui retourne ce temps
converti en seconde

def temps en secondes(heures, minutes, secondes )

return heures * 3600 + minutes * 60 + secondes

Exercice 4

On écrit une fonction qui reçoit un nombre entier en paramètre et qui retourne le factoriel de ce nombre
.Calculer n! pour un entier n ≥ 0. On gère les erreurs si n n’est pas un entier ou est négatif.

def factorielle(n):

resultat=1
for k in range (1, n+1):

result *= k

return resultat
Exercice 5
On écrit une fonction qui reçoit un nombre entier en paramètre et qui retourne la valeur Un

def fibonacci(n)

if n < 2:

return n

else:

return Fibonacci (n -1) + Fibonacci (n - 2)

Exercice6
On écrit une fonction qui reçoit une chaîne de caractères en paramètre et qui retourne le nombre de
voyelles dans une chaîne .

def compter_voyelles(s):

voyelles = ("aeiouy")

compteur=0

for c in chaine :

if c in voyelle:

compteur += 1

return compteur

Exercice 7
On écrit une fonction qui reçoit un mot (chaine de caractères ) en paramètre et qui retourne True si le mot
(chaîne) ne contient que des voyelles minuscules sans accents, False sinon (pas de voyelles).

def tout_voyelles(mot):

voyelles (a,e,i,o,u,y)

for c in mot:

if c mot in voyelles:

return false

return True

Exercice 8
On écrit une fonction qui reçoit deux mots (chaînes de caractères) en paramètre et qui retourne True si
les deux mots contiennent autant de voyelles (minuscules, sans accents)

def tr voyelles(mot1, mot2):

voyelles = "aeiouy"
ph1 = 0

ph2 = 0

for lettre in mot1:

if lettre in voyelles:

ph1 += 1

for lettre in mot2:

if lettre in voyelles:

ph2 += 1

return ph1 == ph2

Exercice9
 Une fonction qui reçoit deux nombres entiers en paramètre et qui retourne leur PGCD.

def pgcd(a, b):

while b== 0

a, b = b, a % b

return a

 EXER ICE PARTIE 2

Exercice 1
1) Fonction coder en python

def f(n):

if n == 0:

print("Partez!")

else:

print(n)

f(n-1)

a. Le commande f(5) affiche :

f(5)
-> print(5)

->f(4)

->print (4)

->f(3)

->print(3)

->f(2)

->print(2)

->f(1)

-> print(1)

->f(0)

->print ("partez!")

D'où

5,4,3,2,1 ,"partez"

 [Link] dit que cette fonction est récursive parce qu'elle s'appelle elle-même dans le bloc "else"avec
"f(n-1)"
2-a)On recopie le code et complete:

def ajouter(s, liste):

res = [ ]

for m in liste:

[Link](s + m)

return res

b. Le commande ajouter par ("b", ["a","b","c"]) renvoie :

=>["ba", "bb", "bc"]

c. Le commande ajouter par ("a", [""]) renvoie :

=>["a"]

3) Fonction en Python

def produit(s, n):

if n == 0:

return [""]

else:
res = [ ]

for i in range(len(s)):

res = res + ajouter(s[i], produit(s, n-1))

return res

a. La commande de produit("ab", 0) renvoie :

=> [""].

 Non, ce n'est pas une liste vide parce qu'elle contenant la chaîne vide.
b. La commande produit("ab", 1) renvoie

= ajouter ("a" ,[" "])+ ajouter ("b" ,[" "])

= ["a"]+["b"]

= ["a" ,"b"]

Donc ("ab",1) renvoie ["a","b"]

c. La commande produit("ab", 2) renvoie :

comme ("ab" ,1)=["a" ,"b"], alors on ajoute ( "a" ,[ "a", "b"]) + ("b", ["a", "b"])

on a : ["aa", "ab"] + ["ba", "bb"]= ["aa" ,"ab" ,"ba" ,"bb"]

D'où ("ab",2) = ["aa","ab","ba","bb"].

Exercice 2
Tableau de données :

flotte = {

12: {"type": "electrique", "etat": 1, "station": "Prefecture"},

80"type": "classique", "etat": 0, "station": "Saint-Leu"},

45: {"type": "classique", "etat": 1, "station": "Baraban"},

41: {"type": "classique", "etat": -1, "station": "Citadelle"},

26: {"type": "classique", "etat": 1, "station": "Coliseum"},

28: {"type": "electrique", "etat": 0, "station": "Coliseum"},

74: {"type": "electrique", "etat": 1, "station": "Jacobins"},

13: {"type": "classique", "etat": 0, "station": "Citadelle"},

83: {"type": "classique", "etat": -1, "station": "Saint-Leu"},

22: {"type": "electrique", "etat": -1, "station": "Joffre"}


1

1-a) L 'instruction flotte[26] renvoie

= > {"type": "classique", "etat": 1, "station": "Coliseum"}

1.b)L 'instruction flotte[80]["etat"] :

80"type": "classique", "etat": 0, "station": "Saint-Leu"},


Donc [80]["etat"] =0

1.c) L'instruction flotte[99]["etat"] :

=> comme 99 n'est pas dans cette flotte

alos que [99 ]["etet"] renvoie un" Erreur "

[Link] script d'une fonction

def proposition(choix):

for v in flotte:

if flotte[v]["type"] == choix and flotte[v]["etat"] == 1:

return flotte[v]["station"]

2.a) Les valeurs possibles de la variable choix sont :

=> choix "electrique" ou choix " classique"

2.b) Explication ce que renvoie la fonction lorsqu'on choisit comme paramètre l'une de valeur possible de
la variable choix

→ Elle renvoie où se trouve ce vélos (for v in flotte:)

→ elle s'arrête dès que trouve un vélo du type choix et disponible (etat
== 1),

3.a) On écrit un script en langage Python qui affiche les identifiants (id velo) de tous les velos disponibles
à la station "citadelle".

for v in flotte:

if flotte[v]["station"] == "Citadelle" and flotte[v]["etat"] == 1:

print(v)

=> Il n y a pas de velo disponible à "citadelle" dans le donnée


donc il n y a rien affiche.

3.b) On écrit un script en langage Python qui affiche l’identifiant ( id , velo) et la station de tous les vélos
électriques qui ne sont pas en panne.

Vélo 12 -> station : Prefecture

Vélo 28 -> station : Coliseum


Vélo 74 -> station : Jacobins

4.)

stations = {

'Prefecture': (49.8905, 2.2967),

'Saint-Leu': (49.8982, 2.3017),

'Coliseum': (49.8942, 2.2874),

'Jacobins': (49.8912, 2.3016)}

=>On écrit une fonction qui prend les coordonnées GPS de l’utilisateur

def stations_proches(user pos):

resultat = {}

for nom station, coord in [Link]():

d = distance(user pos, coord)

if d < 800:

velos dispos = [v for v in flotte if flotte[v]["station"] ==


nom station and flotte[v]["etat"] ==1]

if len(velos dispos) :

resultat [nom station] = {"distance": d, "velos": velos


dispos}

return resultat

Vous aimerez peut-être aussi