Nous allons construire un programme permettant de réviser votre vocabulaire d'anglais.
Pour cela, nous allons avoir besoin de saisir celui-ci dans une liste qui elle même contiendra des listes de deux éléments.
Le premier élément sera le mot en anglais, le second élément sera le mot en français.
Nous construirons deux fonctions, l'une pour réviser, l'autre pour saisir une liste que nous pourrons copier coller.
Vous allez commencer par construire un programme permettant de saisir une liste de liste.
Pour cela, nous aurons besoin de la méthode **append** qui permet d'ajouter dans une liste.
Vous allez :
Initialiser une liste vide que nous appellerons liste : liste=[]
Nous initialiserons une variable oui à o
Puis dans une boucle while (qui fonctionnera tant que la réponse à la question, un autre mot sera vraie)
Nous initialiserons une seconde liste vide que nous appellerons mots
Puis, nous demanderons à l'utilisateur le mot en anglais, que nous rentrerons dans mots
Et le mot en français que nous rentrerons dans mots.
Enfin, nous rentrerons mots dans liste.
liste=[]
oui='o'
while oui=='o':
mots=[]
mots.append(input('mot anglais : '))
mots.append(input('mot français : '))
liste.append(mots)
oui=input('Si vous voulez entrer un autre mot, saisissez : o')
print(liste)
Transformez votre programme en fonction: construction
def construction():
"""Cette fonction permet de saisir la liste des couples de mots à apprendre.
Une fois la liste affichée, il faut la copier coller dans la liste de la fonction reviser."""
liste=[] # Initialise la liste à vide
oui='o'
while oui=='o':
mots=[]
mots.append(input('mot anglais : ')) # Ajoute à mots le mot en anglais
mots.append(input('mot français : ')) # Ajoute à mot le mot en français
liste.append(mots) # Ajoute à liste le nouveau couple de mots
oui=input('Si vous voulez entrer un autre mot, saisissez : o')
print(liste)
Vous allez désormais construire un programme qui va vous permettre de réviser votre vocabulaire.
Pour cela, nous allons devoir choisir au hasard un élément de la liste à réviser.
Puis nous devrons choisir au hasard le mot français ou anglais à afficher.
Vous aurez compris que nous avons besoin d'une bibliothèque que vous connaissez déjà et que vous appellerez.
Vous initialiserez votre liste vocab avec deux mots,
par exemple : vocab=[['the world','le monde'],['a student','un étudiant']]
Vous irez chercher la longueur de la liste vocab avec l'instrucion len : len(vocab)
Vous mettrez le résutat dans une variable l
Vous générerez un nombre au hasard entre 0 la longueur de la liste-1.
Vous générerez un nombre au hasard enrtre 0 et 1
Vous questionnerez l'utilisateur sur le mot sélectionné
from random import *
vocab=[['the world','le monde'],['a student','un étudiant']]
l=len(vocab)
rang=randint(0,l-1)
A_F=randint(0,1)
r=input(vocab[rang][A_F]+" : a pour traduction? ")
Il faut désormais tester la réponse.
Pour cela, en fonction de la valeur de A_F (0 ou 1), vous aurez besoin d'une autre variable prenant l'autre valeur.
Enfin vous réponderez.
from random import *
vocab=[['the world','le monde'],['a student','un étudiant']]
l=len(vocab)
rang=randint(0,l-1)
A_F=randint(0,1)
r=input(vocab[rang][A_F]+" : a pour traduction? ")
if A_F==1:
c=0
else:
c=1
if vocab[rang][c]==r:
print("bravo")
else:
print("faux")
print(vocab[rang])
Transformer votre programme en fonction.
Vous metterez la liste de vocabulaire dans le main.
Vous penserez à appeler votre fonction.
from random import *
def reviser(vocab):
l=len(vocab)
rang=randint(0,l-1)
A_F=randint(0,1)
r=input(vocab[rang][A_F]+" : a pour traduction? ")
if A_F==1:
c=0
else:
c=1
if vocab[rang][c]==r:
print("bravo")
else:
print("faux")
print(vocab[rang])
vocab=[['the world','le monde'],['a student','un étudiant']]
reviser(vocab)
Améliorez votre fonction pour que l'utilisteur choississe de continuer ses révisions ou pas.
from random import *
### Section des fonctions
def reviser(vocab):
"""Cette fonction permet de réviser le vocabulaire situé dans la liste vocab"""
l=len(vocab) # Permet de récupérer la longueur de la liste vocab
oui='o'
while oui=='o':
rang=randint(0,l-1) # Génère au hasard un rang pour la liste vocab
A_F=randint(0,1) # Génère si l'on interroge sur le mot anglais ou français
r=input(vocab[rang][A_F]+" : a pour traduction? ")
if A_F==1: # Pour la vérification, pendant de A_F
c=0
else:
c=1
if vocab[rang][c]==r:
print("bravo")
else:
print("faux")
print(vocab[rang])
oui=input('Si vous voulez continuer vos révisions, tapez : o ')
### Section main
vocab=[['the world','le monde'],['a student','un étudiant']]
reviser(vocab)
Il vous reste à construire un programme qui va demander à l'utilisateur s'il souhaite saisir une liste, ou réviser.
from random import *
### Section des fonctions
def construction():
"""Cette fonction permet de saisir la liste des couples de mots à apprendre.
Une fois la liste affichée, il faut la copier coller dans la liste de la fonction reviser."""
liste=[] # Initialise la liste à vide
oui='o'
while oui=='o':
mots=[]
mots.append(input('mot anglais : ')) # Ajoute à mots le mot en anglais
mots.append(input('mot français : ')) # Ajoute à mot le mot en français
liste.append(mots) # Ajoute à liste le nouveau couple de mots
oui=input('Si vous voulez entrer un autre mot, saisissez : o')
print(liste)
def reviser(vocab):
"""Cette fonction permet de réviser le vocabulaire situé dans la liste vocab"""
l=len(vocab) # Permet de récupérer la longueur de la liste vocab
oui='o'
while oui=='o':
rang=randint(0,l-1) # Génère au hasard un rang pour la liste vocab
A_F=randint(0,1) # Génère si l'on interroge sur le mot anglais ou français
r=input(vocab[rang][A_F]+" : a pour traduction? ")
if A_F==1: # Pour la vérification, pendant de A_F
c=0
else:
c=1
if vocab[rang][c]==r:
print("bravo")
else:
print("faux")
print(vocab[rang])
oui=input('Si vous voulez continuer vos révisions, tapez : o ')
### Section main
vocab=[['the world','le monde'],['a student','un étudiant']]
q=input('Saisir du vocabulaire : tapez 1, Réviser : tapez 2 ')
if q==str(1):
construction()
else:
reviser(vocab)