prim(n)
ist eine Funktion, die ich schrieb, überprüft es, ob eine Nummer n
prim ist. prim_2(n)
gibt eine Liste aller Primzahlen bis n zurück.Warum funktioniert die Rückkehr nicht? Code funktioniert, aber der Test schlägt fehl. #Different zwischen print() und return
prim_liste = []
def prim_2(n):
if n == 1:
prim_liste.reverse()
print(prim_liste) # return prim_liste doesn't work.
elif n > 1:
if prim(n) == "Is prim":
prim_liste.append(n)
prim_2(n-1)
elif prim(n) == "Is not prim":
prim_2(n-1)
Wenn ich ersetzen print(prim_liste)
mit return prim_liste
, nicht meine Tests sowieso.
prim_2 (5) == [2, 3, 5]
Es ist falsch zurückgeben, obwohl mein Code funktioniert.
Als ich mein Programm mit return prim_liste
lief, passierte nichts. Mit print(prim_liste)
gibt es das richtige Ergebnis "zurück".
Vielen Dank für Ihre Hilfe! :) Sorry für mein schlechtes Englisch und diesen verwirrenden Beitrag.
Haben Sie die Primaliste ausgedruckt? Bist du sicher, dass prim (n) zurückgibt, was du erwartet hast? – Shiping
Ja, ich sah es. Die Funktion funktioniert wie gewünscht, deswegen war ich verwirrt. – Mindy