Diesmal will ich eine Liste erstellen in der jede Kombination einer 4-stelligen Zahl aufgelistet ist (also 1234, 2341, 3412, 4123 etc).
Der Teil klappt ganz prima.
Im nächsten Schritt sollen dann alle zahlen die keine Primzahlen sind aus der Liste entfernt werden.
Und dabei hakts.
Ich gedachte das ganze mit einer for-Schleife zu machen, siehe hier:
Code: Alles auswählen
print(kombinationen)
for jede_zahl in kombinationen:
print(jede_zahl)
if primzahl_check(jede_zahl) != True:
kombinationen.remove(jede_zahl)
print("raus")
print(kombinationen)
erst dachte ich meine (selbstgebastelte) Primzahl-Abfrage funktioniert nicht richtig, aber dann fiel mir auf, dass garnicht alle Zahlen in der Liste überprüft werden.[1000]
1000
raus
[]
[1001, 1010, 1100]
1001
raus
1100
raus
[1010]
[1002, 1020, 1200, 2100, 2010, 2001]
1002
raus
1200
raus
2010
raus
[1020, 2100, 2001]
...
Beispielsweise:
aus der Liste "[1001, 1010, 1100]" werden nur "1001" und "1100" aufgerufen (und überprüft). "1010" bleibt einfach so in der Liste, weil es dem Primzahlen-Check garnicht erst unterzogen wird.
In den darauf folgenden Listen läuft es ganz ähnlich: Es wird scheinbar nur jede zweite Zahl überprüft.
Wie kommt das? Und wie behebe ich es?
EDIT: Python3.2, das vergaß ich zu erwähnen.