Les tuples
Exercice 1
Utiliser la console pour écrire ton code :
Ecrire dans le langage Python une fonction dont le paramètre est un entier et qui renvoit 1 tuple formé des 3 entiers suivants.
Coller le code de la console
Voir une solution
Exercice 2
Utiliser la console pour écrire ton code :
Ecrire dans le langage Python une fonction dont les paramètres sont 2 tuples représentant les coordonnées de 2 points et qui retourne un tuple formé des coordonnées du milieu des 2 points.
Coller le code de la console
Voir une solution
Le code
def milieu(A,B):
return (A[0]+B[0])/2,(A[1]+B[1])/2
print(milieu((2,2),(-2,4)))
def milieu(A,B):
return (A[0]+B[0])/2,(A[1]+B[1])/2
print(milieu((2,2),(-2,4)))
Exécuter
Masquer
Exercice 3
Utiliser la console pour écrire ton code :
Ecrire dans le langage Python une fonction dont les paramètres sont 3 nombres et retourne les 2 plus grands.
Coller le code de la console
Voir une solution
Le code
def deuxsurtrois(a,b,c):
if a<b:
a,b=b,a
if b<c:
b,c=c,b
return a,b
print(deuxsurtrois(1,2,3))
print(deuxsurtrois(1,3,2))
print(deuxsurtrois(2,1,3))
print(deuxsurtrois(2,3,1))
print(deuxsurtrois(3,1,2))
print(deuxsurtrois(3,2,1))
def deuxsurtrois(a,b,c):
if a<b:
a,b=b,a
if b<c:
b,c=c,b
return a,b
print(deuxsurtrois(1,2,3))
print(deuxsurtrois(1,3,2))
print(deuxsurtrois(2,1,3))
print(deuxsurtrois(2,3,1))
print(deuxsurtrois(3,1,2))
print(deuxsurtrois(3,2,1))
Exécuter
Masquer
Exercice 4
Utiliser la console pour écrire ton code :
Ecrire dans le langage Python une fonction qui retourne un tuple donnant un encadrement de $\sqrt{2}$ d'amplitude le paramètre de la fonction. On pourra utiliser une méthode par balayage de la fonction carrée.
Coller le code de la console
Voir une solution
Le code
def encadrement(amplitude):
a=1
while a**2<2:
a+=amplitude
return a-amplitude,a
print(encadrement(0.1))
print(encadrement(0.01))
def encadrement(amplitude):
a=1
while a**2<2:
a+=amplitude
return a-amplitude,a
print(encadrement(0.1))
print(encadrement(0.01))
Exécuter
Masquer
Exercice 5
Utiliser la console pour écrire ton code :
Ecrire dans le langage Python une fonction dont le paramètre est un entier naturel et qui retourne la liste de ses diviseurs.
Coller le code de la console
Voir une solution
Le code
def diviseurs(n):
div=()
d=2
while n!=1:
if n%d==0:
div=div+(d,)
n=n/d
d=d-1
d=d+1
return div
print diviseurs(24)
def diviseurs(n):
div=()
d=2
while n!=1:
if n%d==0:
div=div+(d,)
n=n/d
d=d-1
d=d+1
return div
print diviseurs(24)
Exécuter
Masquer
Exercice 6
Utiliser la console pour écrire ton code :
Ecrire dans le langage Python une fonction dont le paramètre est un tuple représentant une liste de nombres et qui retourne la moyenne de ces nombres.
Coller le code de la console
Voir une solution
Le code
def moyenne(liste):
somme=0.0
for n in liste:
somme+=e
return somme/len(liste)
print(moyenne((10,12,14,14)))
def moyenne(liste):
somme=0.0
for n in liste:
somme+=n
return somme/len(liste)
print(moyenne((10,12,14,14)))
Exécuter
Masquer
Exercice 7
Utiliser la console pour écrire ton code :
Ecrire dans le langage Python une fonction dont le paramètre est un tuple représentant une série de nombres et qui retourne la variance de ces nombres.
Voici la formule de l'écart-type $\sigma$ ($\bar x$ est la moyenne):
$$\sigma =\sqrt{ \frac{(x_1-\bar x)^2+(x_2-\bar x)^2+...+(x_n-\bar x)^2}{n}}$$
Coller le code de la console
Voir une solution
Le code
from math import sqrt
def ecarttype(liste):
def moyenne(liste):
somme=0.0
for n in liste:
somme+=n
return somme/len(liste)
m=moyenne(liste)
somme=0.0
for n in liste:
somme=somme+(n-m)**2
return sqrt(somme/len(liste))
print(ecarttype((10,12,14,16)))
from math import sqrt
def ecarttype(liste):
def moyenne(liste):
somme=0.0
for n in liste:
somme+=n
return somme/len(liste)
m=moyenne(liste)
somme=0.0
for n in liste:
somme=somme+(n-m)**2
return sqrt(somme/len(liste))
print(ecarttype((10,12,14,16)))
Exécuter
Masquer
Exercice 8
Utiliser la console pour écrire ton code :
Ecrire dans le langage Python une fonction dont le paramètre est un tuple représentant une série de nombres et qui retourne la médiane de la série.
L'exercice est difficile, chercher d'abord pour une série contenant un nombre impair de nombres
Coller le code de la console
Voir une solution
Le code
def mediane(mon_tuple):
n=len(mon_tuple)
if n%2==1:
centre=(n-1)/2
for e in mon_tuple:
mini=0
egal=0
maxi=0
for f in mon_tuple:
if e==f:
egal+=1
elif e>f:
mini+=1
if mini==centre or (mini+egal>centre and mini<centre):
return e
if n%2==0:
centre=n/2
medminbool=False
medmaxbool=False
for e in mon_tuple:
mini=0
egal=0
maxi=0
for f in mon_tuple:
if e==f:
egal+=1
elif e>f:
mini+=1
else:
maxi+=1
if mini+egal==centre:
medminbool=True
medmin=e
if maxi+egal==centre:
medmaxbool=True
medmax=e
if mini<centre and mini+egal>centre:
return e
if maxi<centre and maxi+egal>centre:
return e
if medminbool and medmaxbool:
return (medmin+medmax)/2.0
print(mediane((1,2,3,4)))
print(mediane((3,1,2,4,5)))
def mediane(mon_tuple):
n=len(mon_tuple)
if n%2==1:
centre=(n-1)/2
for e in mon_tuple:
mini=0
egal=0
maxi=0
for f in mon_tuple:
if e==f:
egal+=1
elif e>f:
mini+=1
if mini==centre or (mini+egal>centre and mini<centre):
return e
if n%2==0:
centre=n/2
medminbool=False
medmaxbool=False
for e in mon_tuple:
mini=0
egal=0
maxi=0
for f in mon_tuple:
if e==f:
egal+=1
elif e>f:
mini+=1
else:
maxi+=1
if mini+egal==centre:
medminbool=True
medmin=e
if maxi+egal==centre:
medmaxbool=True
medmax=e
if mini<centre and mini+egal>centre:
return e
if maxi<centre and maxi+egal>centre:
return e
if medminbool and medmaxbool:
return (medmin+medmax)/2.0
print(mediane((1,2,3,4)))
print(mediane((3,1,2,4,5)))
Exécuter
Masquer
#ecrire le code dans la console
Python avec mathartung.xyz@20018
end