Question 1
Complétez la définition de la fonction parite()
qui prend pour paramètre
un tuple t
et renvoie un tuple de même longueur contenant un 0 lorsque l'élément
correspondant de t
est pair, un 1 sinon.
def parite(t):
"""
t – tuple, n-uplet d’entiers naturels
Sortie: tuple – n-uplet de même longueur que t contenant :
0 si l’élément de même rang dans t est pair
1 si l’élément de même rang dans t est impair
>>> parite( (3, 2, 6) )
(1, 0, 0)
"""
Question 2
On souhaite tester la fonction parité avec un tuple contenant des valeurs aléatoires.
Rédiger une fonction alea()
qui prend pour paramètre un entier n positif
et renvoie un tuple t
qui contient des valeurs aléatoires entre 0 et 99.
Vous pourrez utiliser une boucle for
qui crée un tuple par concaténation.
Ne pas oublier d'importer le module random
qui donne accès à randint()
def alea(n):
"""
n - entier
Sortie: tuple – n-uplet contenant n valeurs aléatoires entre 0 et 99
>>> alea( 4 )
(31, 71, 98, 63)
"""
Question 3
Regroupez les 2 codes précédents dans un unique programme afin de tester la
fonction parite()
dans le « main » du programme à l'aide de 5 tuples
générés aléatoirement.
- Une piste ?
- Vous avez dit parité ?
- Manipuler un tuple de longueur 1...
- Une solution Question 1
- Une piste Question 2 ?
- Une solution Question 2
- Une solution Question 3
%2
, on peut savoir si un nombre est pair...
(valeur, )
def parite(t):
"""
t – tuple, n-uplet d’entiers naturels
Sortie: tuple – n-uplet de même longueur que t contenant :
0 si l’élément de même rang dans t est pair
1 si l’élément de même rang dans t est impair
>>> parite( (3, 2, 6) )
(1, 0, 0)
"""
reponse = () # Création d’un tuple « vide »
for valeur in t:
reponse = reponse + (valeur%2, )
return reponse
from random import randint
def alea(n):
"""
n - entier
Sortie: tuple – n-uplet contenant n valeurs aléatoires entre 0 et 99
>>> alea( 4 )
(31, 71, 98, 63)
"""
generation = () # Création d’un tuple « vide »
for i in range(n):
generation = generation + (randint(0,100), )
return generation
for i in range(5):
t = alea(10) # 10 est choisi arbitrairement
print(t)
u = parite(t)
print(u)
print()