Bei einer Liste lst = [121, 4, 37, 441, 7, 16]
möchte ich alle Zahlen entfernen, die sich wiederholen, was zu einer neuen Zeichenkette führt, die lst = [37,7]
(die Primzahlen der ursprünglichen Zeichenkette) wäre.Primzahlen aus einer Liste holen
Bisher habe ich es geschaffen, nur diesen Code löscht:
def func(lst,x):
y = []
for i in lst:
for x in range (1, i):
if (i % x) == 0 :
y.append(i)
return y
print(func(lst,3))
Statt lst = [37,7]
zu bekommen, ich bin diese komisch aussehende Liste bekommen:
[121, 121, 4, 4, 37, 441, 441, 441, 441, 441, 441, 441, 441, 7, 16, 16, 16, 16]
Gibt es eine Möglichkeit, Kann das funktionieren?
'121% 1 == 0 'ist natürlich wahr, ebenso wie' 121% 11 == 0'. Ihr Code wiederholt jede Zahl "k" mal, wobei "k" die Anzahl der richtigen Teiler (einschließlich "1") ist. Da dies Hausaufgaben zu sein scheinen, lasse ich dich rätseln, wie man es repariert. –
Ich verstehe nicht? Sie möchten alle Nicht-Primzahlen entfernen? –
Danke John Coleman, ich werde es sicher tun! – Marujo92