Académique Documents
Professionnel Documents
Culture Documents
:
Sur les billets d’avion d’une Campanie aérienne, figure un code de 11 chiffres précédés d’une lettre
majuscule. Exemple U19586900462. Pour vérifier l’authenticité d’un billet, on remplace la lettre du
code par son rang alphabétique pour obtenir un nombre de 12 ou de 13 chiffres. Si le reste de la
division par 9 de la somme des chiffres de ce nombre est égale à 8, ce billet est authentique, sinon
c’est un faux billet.
Pour réaliser cette tâche, on doit créer une interface graphique (présentée ci-dessous), comportant
les éléments suivants :
▪ Un label demandant la saisie d’un code.
▪ Une zone de saisie (QlineEdit) permettant la saisie du code.
▪ Un bouton (QPushButton) vérifier.
▪ Un label pour afficher le message.
Travail demandé :
1) Concevoir une interface graphique comme illustré ci-dessus et l’enregistrer, dans votre dossier
de travail, sous le nom "authentique.ui".
2) Développer la fonction "vérif" (qui vérifie que la donnée à saisir est une chaine de 11 chiffres
précédés d’une lettre majuscule) dans un programme et l’enregistrer sous le nom "
compagnie.py ", dans votre dossier de travail.
3) Développer la fonction "authentique" permettant de vérifier si le code, passé comme paramètre,
est authentique ou non, selon le principe décrit précédemment dans un programme et l’enregistrer
dans le même fichier "compagnie.py", dans votre dossier de travail.
4) Dans le programme " compagnie.py ", ajouter les instructions permettant :
- D’appeler l’interface graphique intitulée "authentique.ui".
- Développer un module "Play", qui s’exécute à la suite d’un clic sur le bouton "verifier",
permettant de récupérer le code saisi puis d’exploiter la fonction "authentique" afin d’afficher le
message retourné via un label de l’interface "authentique".
Exemple d’exécution :
from PyQt5.QtWidgets import *
from PyQt5.uic import *
def verif(ch):
i=1
while i<=len(ch)-1 and '0'<=ch[i]<='9':
i=i+1
return i>len(ch)-1 and 'A'<=ch[0]<='Z' and len(ch)==12
def authentique(ch):
if verif(ch):
aux=str(ord(ch[0])-64)
ch=ch[2:len(ch)-1]
ch=aux+ch
s=0
for i in range(len(ch)-1):
d=int(ch[i])
s=s+d
if s%9==8:
msg="authentique"
else: msg="non authen"
else: msg="erreur!!!"
return msg
def play():
code=p.x.text()
p.res.setText(authentique(code))
app=QApplication([])
p=loadUi("authentique.ui")
p.bt.clicked.connect(play)
p.show()
app.exec_()
TP3 :
Pour réaliser cette tâche, on doit créer une interface graphique (présentée ci-dessous), comportant
les éléments suivants :
Travail demandé :