Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Programmes Python

Posté par Profil belboulaaa 20-11-22 à 19:50

Salut tout le monde ! Je coince sur un exercice d'SNT. Je n'arrive pas a comprendre comme faire. C'est celui-ci :

Samuel a oublié son code pin. Il a droit à 5 essais, après quoi son téléphone sera bloqué !
Le code oublié est 1234 (dur à oublier pourtant...).
Écrivez et testez un programme qui demandera à Samuel son code et bloquera son téléphone au bout de
cinq erreurs (votre programme affichera simplement « Téléphone bloqué » dans ce cas).

Merci d'avance !

Posté par
Leile
re : Programmes Python 20-11-22 à 20:00

bonjour,

qu'est ce que tu ne comprends pas exactement ?
Qu'as tu essayé ?

Posté par Profil belboulaaare : Programmes Python 20-11-22 à 20:03

Bonjour. Je ne sais pas comment faire pour limiter les essais. En fait, tout l'exercice est m'est confus.

Posté par
Leile
re : Programmes Python 20-11-22 à 20:07

pour limiter les essais, tu les comptes et tu limites leur nombre à 5

si on avait un seul essai, tu écrirais quoi ?

Posté par Profil belboulaaare : Programmes Python 20-11-22 à 20:12

S'il y'avait un seul essai je pense qu'on ne doit pas mettre de boucle. Je ferai

code=int(input("Entrez votre code PIN"))
if code==1234:
        print("Code correct")
else:
       print("Code incorrect")

Posté par
Leile
re : Programmes Python 20-11-22 à 20:17

oui, c'est bien.
je transforme un peu

code=int(input("Entrez votre code PIN"))
if code==1234:
        OK = "oui"
else:
       OK="non"

        print("Code incorrect . Recommence")

cette partie en bleu, il faut la faire 5 fois, tant que le code est incorrect.
comment peux tu traduire ça ?  

Posté par Profil belboulaaare : Programmes Python 20-11-22 à 20:21

Je pense qu'il faut utiliser la boucle while
While OK="non"

Je n'ai pas compris que veut dire OK. Merci

Posté par
Leile
re : Programmes Python 20-11-22 à 20:31

OK vaut "oui"  quand le code est correct, il vaut "non" quand le code est incorrect.

je rajoute ta proposition :

while   OK =="non" :

                 code=int(input("Entrez votre code PIN"))
                 if code==1234:
                                 OK = "oui"
                 else:
                                 OK="non"
                                 print("Code incorrect . Recommence")

si je le laisse comme ça, c'est pas mal, mais il ne compte pas les essais ...
il faudrait compter les essais, et ajouter dans le while, qu'on veut en faire 5 maximum...

tu sais faire ?

Posté par Profil belboulaaare : Programmes Python 20-11-22 à 21:03

Non, je ne sais pas comment faire. Peur etre avec for a la place de while ?

Posté par
Leile
re : Programmes Python 20-11-22 à 21:07

ne change pas while par for..

je rajoute le comptage des nombre d'essais :

nombre_essais = 0
while   OK =="non"  and   nombre_essais < 5 :

                 code=int(input("Entrez votre code PIN"))
                 nombre_essais =  nombre_essais +1
                 if code==1234:
                                 OK = "oui"
                 else:
                                 OK="non"
                                 print("Code incorrect . Recommence")


il te reste à placer à la fin de ton programme que si OK = "non", alors tu affiches "téléphone bloqué".

Posté par Profil belboulaaare : Programmes Python 20-11-22 à 21:12

nombre_essais = 0
while   OK =="non"  and   nombre_essais < 5 :

                 code=int(input("Entrez votre code PIN"))
                 nombre_essais =  nombre_essais +1
                 if code==1234:
                                 OK = "oui"
                 elif:
                                 OK="non"
                                 print("Code incorrect . Recommence")
                if OK=="non" and nombre_essais >5:
                                 print("Téléphone bloqué")

Je ne suis pas sure que c'est ca, je ne sais pas comment placer le dernier if.

Posté par
Leile
re : Programmes Python 20-11-22 à 21:20

nombre_essais = 0
OK = 'non'
while   OK =="non"  and   nombre_essais < 5 :

                 code=int(input("Entrez votre code PIN"))
                 nombre_essais =  nombre_essais +1
                 if code==1234:
                                 OK = "oui"
               else:
                                 OK="non"
                                 print("Code incorrect ")
if OK=="non" :
                  print("Téléphone bloqué")


si tu mets le dernier if dans la boucle, ca va s'afficher à chaque fois.
toi, tu veux que ça s'affiche à la fin.

tu peux programmer et tester. Vas y !

Posté par Profil belboulaaare : Programmes Python 20-11-22 à 21:26

Ça marche ! Merci beaucoup pour votre aide, j'ai beaucoup mieux compris maintenant.

Posté par
Leile
re : Programmes Python 20-11-22 à 21:30

je t'en prie, bonne soirée



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