hi leute.ich habe ein problem mit einer aufgabe..vielleicht könnte mir jemand einen dabei helfen oder den faden zeigen.
Erstellen Sie für den bekannten Algorithmus Sieb des Eratosthenes aus den letzten beiden Aufgabenblättern ein Python-Programm. Speichern Sie die Liste der Primzahlen in L.
(n wird automatisch mit den beiden Werten 11 und 24 aus dem Beispiel belegt. Schreiben Sie also nur das Programm. Benutzen Sie nicht def, return und print())
Zum Beispiel:
Eingabe [*] Result
print(L) 24 [*] [2, 3, 5, 7, 11, 13, 17, 19, 23]
print(L) 11 [*] [2, 3, 5, 7, 11]
Antwort:(Abzugssystem: 10, 20, ... %)
Algorithmus Sieb des Eratosthenes
-
- User
- Beiträge: 10
- Registriert: Sonntag 24. November 2019, 15:39
ich weiss es nicht ob ich wie bei terminal es schreiben soll...auf gut deutsch gesagt so eine lösung habe ich nicht gesehen,keine ahnung wie es aussehen soll.die befehle funktionieren über ubuntu nicht...bin echt geschmissen
- __blackjack__
- User
- Beiträge: 13116
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@soljenitsin: Da fehlen irgendwie wichtige Informationen, zum Beispiel in welcher Umgebung das laufen soll. Denn wenn `n` auf magische Weise irgendwo her kommt und man kein `print()` für die Ausgabe von `L` verwenden soll, dann kann man kein Python-Programm schreiben das alleine lauffähig wäre.
Wenn man keinen Zugriff auf die Laufzeitumgebung hat, muss man auch mindestens mal `n` selbst einen Anfangswert zuweisen und ``print(L)`` verwenden um das Ergebnis zu überprüfen. Ich würde sogar soweit gehen und das ganze in eine Funktion stecken, damit man das dann auch gleich in einer Schleife für mehrere `n` testen kann ohne das man dauernd das `n` von Hand ändern muss.
`n` ist übrigens kein guter Name und `L` ist sogar ein schlechter Name. Das ganze *nicht* in eine Funktion zu stecken ist auch kein gutes Zeichen. Wer auch immer die Aufgaben stellt ist kein Programmierer. Oder kein guter.
Wenn man keinen Zugriff auf die Laufzeitumgebung hat, muss man auch mindestens mal `n` selbst einen Anfangswert zuweisen und ``print(L)`` verwenden um das Ergebnis zu überprüfen. Ich würde sogar soweit gehen und das ganze in eine Funktion stecken, damit man das dann auch gleich in einer Schleife für mehrere `n` testen kann ohne das man dauernd das `n` von Hand ändern muss.
`n` ist übrigens kein guter Name und `L` ist sogar ein schlechter Name. Das ganze *nicht* in eine Funktion zu stecken ist auch kein gutes Zeichen. Wer auch immer die Aufgaben stellt ist kein Programmierer. Oder kein guter.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
-
- User
- Beiträge: 10
- Registriert: Sonntag 24. November 2019, 15:39
im lösungsfeld gibt es folgende eingaben
x = input()
n = int(x)
x = input()
n = int(x)
- __blackjack__
- User
- Beiträge: 13116
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Und wieder die gleiche Frage wie im anderen Thema: ”Lösungsfeld”? Was ist das? Wo kommt das her?
Auch hier kann man sich eine Zeile sparen:
Auch hier kann man sich eine Zeile sparen:
Code: Alles auswählen
n = int(input())
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman