Fonction lambda
February 10, 2025
[1]: def f(x) :
return 2*x + 3
# ou bien
f = lambda x : 2*x + 3
[2]: y = f(1)
print('y = ' , y)
y = 5
[3]: # renvoie un nouveau mot en supprimant le caractere d'indice i
delete = lambda mot , i : mot[ : i] + mot[i+1 : ]
[4]: mot1 = delete('bonjour' , 2)
print(mot1)
bojour
[5]: # estPaire : renvoie True si n est paire
estPaire = lambda n : n%2 == 0
[6]: estPaire(5)
[6]: False
[10]: # estPaire : renvoie True si n est paire (sans utiliser les operateurs de␣
↪comparaison)
estPaire = lambda n : [True,False][n%2]
estPaire(4)
[10]: True
[29]: # renvoie le pgcd de a et b
pgcd = lambda a , b : (a if b == 0 else pgcd(b,a%b))
pgcd(12,18)
1
[29]: 6
[36]: diviseurs = lambda a : set( [d for d in range(1,a//2+1) if a%d == 0])
pgcd = lambda a , b : max( diviseurs(a)&diviseurs(b) )
pgcd(12,18)
[36]: 6
[32]: # renvoie une liste remplie de n zéros
zeros = lambda n : [0]*n
zeros = lambda n : [0 for i in range(n)]
[13]: zeros(5)
[13]: [0, 0, 0, 0, 0]
[14]: # renvoie un dictionnaire telque cle = val pour tous cle in [0 .. n]
dictP = lambda n : {i:i for i in range(n+1)}
[15]: dictP(5)
[15]: {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5}
[2]: afficheOctet = lambda n : '0'*(8-len(bin(n)[2:]))+bin(n)[2:]
[4]: afficheOctet(35)
[4]: '00100011'
[5]: bin(35)
[5]: '0b100011'
[6]: """
0! = 1
n! = n * (n-1)!
"""
f = lambda n : (1 if n == 0 else n*f(n-1))
[7]: f(5)
[7]: 120
[ ]: