Pour décomposer un entier en python y'a t il mieux que ça

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
def div(a): 
#donne les diviseur d'un entier#
    l=[]
    for i in range(1,a+1):
        if a%i==0:l.append(i)
    return(l)
def nomb_prem_inf(n):
#donne les entiers premiers inf a n #
    k=[]
    for i in range(1,n):
        if div(i)==[1,i]:k.append(i)
    return k
def div_prem(n):
#donne les diviseurs premiers inf a n#
    j=[]
    for i in nomb_prem_inf(n):
        if n%i==0:j.append(i)
    return j
def decomp(n):
#donne la decomposition en facteurs premiers de n#
    e=[]
    for i in div_prem(n):
        for j in range(1,n):
            if n%(i**j)==0:e.append(i)
    return e
n=eval(input("saisir n:"))
print("diviseur de n:",div(n))
print("nombre premier inf < n:",nomb_prem_inf(n))
print("decomposition en fact premier de n:",decomp(n))