Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

programme python

Posté par
mrbibi
07-05-20 à 16:44

j'ai un problème à une question python merci de bien vouloir m'aider voici le programe
n=1
while 0.9**n>0.5:
n=n+1
print(n)
la question est qu'affiche le programme suivant écrit en langage python?

Posté par
Leile
re : programme python 07-05-20 à 16:58

bonjour (oubli?)

à ton avis que fait ce programme ?
Est ce que la question est posée toute seule ou dans un contexte ?

Posté par
mrbibi
re : programme python 07-05-20 à 17:08

bonjours la question est posé comme ça, le soucis c'est que dans python je ne comprend se que signiie les deux ** sinon pour moi si while 0.9**n>0.5: on va alors rajouter +1 à n

Posté par
Leile
re : programme python 07-05-20 à 17:26

les deux **   c'est pour "puissance"  

en langage naturel  ton algo s'écrit
n prend la valeur 1

tant  que    0.9 n > 0.5  faire
                      ajouter 1 à n
fin du tant que
afficher n

alors, à ton avis, à quoi sert-il ?

Posté par
mrbibi
re : programme python 07-05-20 à 17:30

Il affiche alors 2 car 0.9**1>à 0.5
donc n=1 et on lui ajoute +1 se qui donne 2

Posté par
Leile
re : programme python 07-05-20 à 17:42

au départ, n vaut 1
on calcule 0.9^1  , en effet, c'est > 0.5, donc on ajoute 1 à n (et n vaut donc 2)
on reste dans la boucle tant que 0.9^n > 0.5 : on n'en sortira que quand   0.9^n ne sera plus > 0.5
on calcule  0.9^2     on regarde si  c'est > 0.5 : OUI ==>  on ajoute 1 à n
n vaut 3
on calcule  0.9^3 ,  on regarde...      vas y continue !
  

Posté par
mrbibi
re : programme python 07-05-20 à 17:45

ahhh oui je me souvien avoir ait ça j'ai donc continuer est sa donne 0.97 <0.5

Posté par
Leile
re : programme python 07-05-20 à 17:52

OK,
on tourne dans la boucle tant que 0.9^n > 0.5
donc quand n=7, on calcule 0.9^7, on voit que c'est < 0.5  ==> on sort de la boucle.
L'instruction qui suit la boucle est   "afficher n"
donc ton programme va afficher 7

D'accord ?
une chose : en python,  l'indentation (le décalage par rapport à la marge)  est important.
ton programme était sans doute :
n=1
while 0.9**n>0.5:
               n=n+1          
print(n)

tout ce qu'on fait dans la boucle while  est décalé. C'est comme ça que python repère les fin de boucle.

Posté par
mrbibi
re : programme python 07-05-20 à 17:58

ok, merci sa me rappelle beaucoup de chose, merci aussi de ta patience, juste es que tu peut aller voir dans mon profil mes autre topique j'en ai un autre sur  python je pense avoir trouvé la bonne réponse, si tu peut me confirmer mon incertitude.

Posté par
Leile
re : programme python 07-05-20 à 18:05

je vais voir.

Posté par
Leile
re : programme python 07-05-20 à 18:10

tu as eu des réponses sur cet autre topic, je vois..
Pourquoi as tu encore une incertitude ?
tu vois bien dans cet exo-ci   comment on fait pour afficher n, n'est ce pas ?
Ca n'est pas différent ailleurs.
NB : dans ton autre topic, tu ne respectes pas non plus l'indentation.. fais bien attention.

Posté par
mrbibi
re : programme python 07-05-20 à 18:15

oui c'est vrai, et pour l'indentation je vais faire attention la prochaine fois. ùerci encore pour les conseille et ta patience.



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 1510 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 !