Je suis débutant chez python (une semaine). Ici, je suis en train imprimer la liste de tous le principal facteur de 60. Mais pour la ligne 19, je reçois l'erreur suivante: TypeError: type d'opérande non pris en charge (s) pour%: « liste » « float » etComment appliquer des opérations mathématiques à chaque numéro d'une liste en python?
Le code:
whylist = []
factor = []
boom = []
primefactor = []
n = 60
j = (list(range(1, n, 1)))
for numbers in j:
if n%numbers == 0:
whylist.append(numbers)
for everynumber in whylist:
factor.append(everynumber)
for things in factor:
u = (list(range(1, things, 1)))
d = float(things)
if d%u == 0:
boom.append(things)
if len(boom) == 1:
for every in boom:
primefactor.append(every)
print(primefactor)
Qu'est-ce que je fais mal?
@Levon 'range' ne renvoie pas de liste sur python3.x, mais vous avez raison, je ne pense pas que' list (range (...)) 'soit nécessaire ici. – mgilson
@mgilson Ah .. oui, bon point .. n'a pas remarqué la balise .. merci! – Levon