Benutze keine Abkürzungen. `quadr` läßt vermuten, dass es sich um ein Quadrat handelt, dabei berechnest Du die Wurzel. Wenn Du `round` ohne 0 verwendest, erhältst Du automatisch ein `int`, ohne dass Du das noch extra umwandeln mußt.
Variablen initialisiert man erst, wenn man sie braucht, `L` wird aber drei Anweisungen zu früh eingeführt. Ein range-Objekt in eine Liste zu verwandeln, geht mit `list` deutlich einfacher. Die Default-Schrittweite ist schon 1, die muß man nicht extra angeben.
`L` ist dabei ein schlechter Variablenname, wie meist alle einbuchstabigen Variablennamen. Auch wenn man den selben Buchstaben mehrfach wiederholt, werden die Namen nicht besser.
Über einen Index iteriert man nicht, sondern über die Elemente der Liste direkt.
Code: Alles auswählen
x = 10
wurzel = round(x**0.5)
print("Wurzel:", wurzel)
zahlen = list(range(1, x+1))
print("Liste:", zahlen)
andere_zahlen = list(zahlen)
for i in range(2, wurzel+2):
for zahl in zahlen:
if zahl % 2 == 0:
if zahl in andere_zahlen:
print(zahl)
andere_zahlen.remove(zahl)
print(andere_zahlen)
Jetzt ist natürlich die Frage, warum Du mehrfach die selbe Schleife durchgehst? Die äußere Schleife ist total unnötig. Und bei einem Durchlauf sind alle Zahlen in der Liste `andere_zahlen` enthalten, die if-Abfrage also unnötig.
Code: Alles auswählen
andere_zahlen = list(zahlen)
for zahl in zahlen:
if zahl % 2 == 0:
print(zahl)
andere_zahlen.remove(zahl)
Etwas von einer Liste zu entfernen, ist aber total umständlich, besser wäre es, nur die Zahlen, die man haben möchte, der Liste hinzuzufügen.
Code: Alles auswählen
andere_zahlen = []
for zahl in zahlen:
if zahl % 2 == 0:
print(zahl)
else:
andere_zahlen.append(zahl)
print(andere_zahlen)
Natürlich ist die mathematische Operation dahinter so simple, dass man die Listen auch direkt erzeugen könnte:
Code: Alles auswählen
gerade_zahlen = range(2, x+1, 2)
ungerade_zahlen = list(range(1, x+1, 2))
for zahl in gerade_zahlen:
print(zahl)
print(ungerade_zahlen)
Und schon hat man mit 4 Zeilen das selbe Ergebnis, wie in Deinem ursprünglichen Programm.