Lire une fonction complexeExercice

On donne la fonction Python suivante : 

def supprime_doublons(L) : 
    liste=[]
    for i in L : 
        if i not in liste : 
            liste.append(i) 
    return liste

Que fait cette fonction ? 

On donne la fonction Python suivante :

def supprime_doublons(L) : 
    liste_inf=[]
    liste_sup=[]
    for i in L : 
        if i > 50 : 
            liste_sup.append(i) 
        else :
            liste_inf.append(i)
    return liste_inf, liste_sup

Que fait cette fonction ?

On donne la fonction Python suivante permettant d'approcher l'aire sous la courbe de la fonction x\mapsto x^2 sur l'intervalle [0{,}1] par la méthode des rectangles. Cette méthode divise l'intervalle en n rectangles de largeur fixe. La longueur de chaque rectangle de base le segment [ab] sur l'axe des abscisses est donnée par l'image f(c), par la fonction x\mapsto x^2 , du milieu c de [ab].

def aire(n) :
    I=0
    for k in range(n) : 
        I=I+1/n * ((2*k+1)/(2*n))**2
    return I

Que fait cette fonction ?

Pour résoudre une équation du type ax^3+bx^2+cx+d  = 0, on calcule son discriminant \Delta = 18abcd -4b^3d +b^2c^2 -4ac^3 -27a^2d^2 .

Il y a alors trois cas de figure :

  • Si \Delta > 0 l'équation a trois solutions distinctes.
  • Si \Delta = 0 l'équation a au moins deux solutions identiques.
  • Si \Delta < 0 l'équation a une seule solution.

 

On donne la fonction Python suivante :

def nb_solutions(a,b,c,d) : 
    delta=18*a*b*c*d−4b**3d+b**2c**2−4*a*c**3−27*a**2*d**2
    if delta > 0 : 
        return 3
    elif delta == 0 : 
        return 2 
    else : 
        return 1 

Que fait cette fonction ?

On se place dans une partie de jeu de stratégie dans lequel un joueur J1 dispose de deux dés à six faces et un autre joueur J2 d'un seul dé à six faces. 

Si la somme des deux dés du joueur J1 est supérieure stricte à la valeur obtenue par le joueur J2, alors le joueur J1 remporte la partie. 

On donne la fonction Python :

def simul_game() : 
    J1=0
    J2= 0 
    for i in range(1000): 
        J1_score=randint(1,6)+randint(1,6)
        J2_score = randint(1,6)
        if J1_score>J2_score : 
            J1=J1+1
        else : 
            J2=J2+1
    return J1, J2

Que fait cette fonction ?