prim(n)
- это функция, которую я написал, она проверяет, является ли число n
prim. prim_2(n)
возвращает список всех простых чисел до n.Почему не работает возврат? Код работает, но тест не выполняется. # Разница между print() и 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)
Если я заменяю print(prim_liste)
с return prim_liste
, мои тесты не может в любом случае.
prim_2 (5) == [2, 3, 5]
Это действительно возвращается значение False, хотя мой код работает.
Когда я запускал свою программу с return prim_liste
, ничего не случилось. С print(prim_liste)
он «возвращает» правильный результат.
Благодарим за помощь! :) Извините за мой плохой английский и этот запутанный пост.
Вы видели распечатку основного списка? вы уверены, что prim (n) возвращает то, что вы ожидали? – Shiping
Да, я это увидел. функция работает как разыскиваемая, из-за которой я был смущен. – Mindy