triangle de Pascal
pascal = { } for i in range(1,100) : # A pascal[i,0] = 1 pascal[i,i] = 1 # B for j in range(0,i) : # C pascal [i,j] = pascal [i-1,j-1] + pascal[i-1,j] (ligne 10 mentionnée dans l'erreur) print (pascal[5,4])
File: interro_rapide_45_minutes_2013_12.tex, line 43
Traceback (most recent call last): File "interro_rapide_45_minutes_2013_12_1.py", line 10, in <module> pascal [i,j] = pascal [i-1,j-1] + pascal[i-1,j] KeyError: (0, -1)
calcul de la somme des chiffres d'un entier positif (1)
def somme_chiffre (i) : return sum ( [ int(c) for c in str(i) ] ) print (somme_chiffre(199))
calcul de la somme des chiffres d'un entier positif (2)
def somme_chiffre (i) : s = 0 while i > 0 : s += i % 10 i //= 10 return s
divisible par 11
def division_11 (i) : spair = 0 simpair = 0 pos = 1 # la première position est 1 while i > 0 : if pos % 2 == 0 : spair += i % 10 else : simpair += i % 10 i //= 10 pos += 1 diff = abs(spair - simpair) if diff == 0 : return True elif diff < 11 : return False elif diff == 11 : return True else : return division_11(diff) for i in [7,11,55,100,121,1001,3003,4000] : print (i,division_11(i))
suite de Fibonacci
n = 100 fibo = [ 0 ] * (n+1) # A fibo[0] = 1 for i in range(2,n) : # B fibo[i] = fibo[i-1] + fibo[i-2] # C print (fibo[n]) #affiche zéro
diviseurs d'un nombre entier
def diviseur (i) : div = [ ] for d in range (1, i//2+1) : if i % d == 0 : div.append(d) return div print (diviseur (11)) print (diviseur (512))
nombre parfait
def nombre_parfait (i) : div = diviseur(i) return sum(div) == 2*i for i in range(115,125) : print (i, nombre_parfait(i), diviseur(i))