Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

compléter un programme python et le réaliser

Posté par
Nelcar
03-04-19 à 14:27

Bonjour,
voilà j'ai un exercice à faire et je n'arrive pas à avoir le résultat sur python
l'exercice est :
en 2016, les rejets polluants d'un groupe industriel sont évalués à 5 000 tonnes. Le groupe est contraint de réduire ses rejets polluants de 8 % chaque année jusqu'à ce que ceux-ci ne dépassent pas 2 000 tonnes annuelles. On suppose que le groupe respecte ce plan de réduction.
1) par quelle valeur est multipliée chaque année la quantité de rejets polluants ?
réponse : 0,92
2) la fonction polluants, programmée ci-contre en langage Python, a pour arguments la quantité annuelle r de polluants rejetés (en tonnes) et l'année n correspondant à ces rejets polluants. Compléter ce programme afin que la fonction polluants retourne en quelle année le groupe industriel atteindra pour la première fois son objectif.
def polluants(r,n):
    while................ (j'ai mis r<=2000
          r=r*0.92
          n=...........(j'ai mis n+1)
    return(..........) (j'ai mis n)
3) utiliser ce programme pour déterminer en quelle année l'objectif sera atteint
j'ai fait ça mais ça ne marche pas
def polluants(r,n):
    while r<=2000:
          r=r*0.92
          n= n+1
    return(n)
print(polluants(r,n))
et je n'ai pas l'année dans la console (l'année doit-être 2027)
Merci beaucoup

Posté par
mathafou Moderateur
re : compléter un programme python et le réaliser 03-04-19 à 14:29

Bonjour,

while................ (j'ai mis r<=2000

traduction de ce que tu as mis

tant que j'ai terminé je bosse

tu trouves ça logique ?

Posté par
Nelcar
re : compléter un programme python et le réaliser 03-04-19 à 14:39

re,
oui en effet le signe est dans l'autre sens mais ça ne marche pas quand même.
Là j'ai fait :
def polluants(r,n):
     r=5000
     t=5000
     n=2016
     while r>=2000:
        r=r*0.92
        t=t+r
        n=n+1
     return(n)

print(polluants(r,n))
et ça ne marche pas
merci

Posté par
mathafou Moderateur
re : compléter un programme python et le réaliser 03-04-19 à 15:01

pourquoi as tu modifié autre chose en plus ????

• ça ne rime à rien du tout de mettre l'initialisation de r à 5000 alors que r est un paramètre d'appel de la fonction
ça doit surement perturber gravement le fonctionnement de cette fonction !
pareil pour n

• l'appel de la fonction ce n'est pas print(polluants(r,n)) mais print(polluants(5000,2016))
c'est au moment de l'appel de la fonction qu'on lui donne les valeurs numériques des paramètres.
en écrivant print(polluants(r,n)) tu lui fournis les valeurs actuelles inconnues (non définies avant) de r et de n ! ça ne peut que planter.

Posté par
Nelcar
re : compléter un programme python et le réaliser 03-04-19 à 15:36

Merci de ta réponse,
oui je viens de trouver
Merci beaucoup pour l'explication

Posté par
flight
re : compléter un programme python et le réaliser 03-04-19 à 18:33

Salut
Très simplement
U=5000
Tand que V >2000
V =U*0.92
U devient..... A toi
Fin du "tand que"
Retourner la valeur de V

Posté par
Nelcar
re : compléter un programme python et le réaliser 03-04-19 à 19:54

Re, voilà ce que j'ai fait et ça fonctionne dans la console j'ai bien 2027
def polluants(r,n):
    while r>=2000:
          r=r*0.92
          n= n+1
    return(n)
print(polluants(5000,2016))
et j'ai dans la console le résultat de 2027.
MERCI encore



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1741 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !