Проблемы с возвратом между функциями [дубликат]
Я новичок в Python и программировании в целом и понятия не имею, почему return в приведенном ниже коде не перемещается между функциями. Разве значение n не следует сохранять для использования во всех функциях? print (n) здесь только для меня, чтобы посмотреть, работает ли он, а, по-видимому, нет.
def main():
print("This program tests the Goldbach's conjecture")
get_input()
print(n)
def get_input():
n = 0
while n == 0:
try:
v = int(input("Please enter an even integer larger than 2: "))
if v <= 2:
print("Wrong input!")
continue
if v%2 == 1:
print("Wrong input!")
continue
if v%2 == 0:
n = v
except ValueError:
print("Bad input!")
continue
return n
1 ответ
Вы не сохраняете значение, возвращаемое нигде, вы должны сохранить его в переменной (или распечатать его напрямую), например -
def main():
print("This program tests the Goldbach's conjecture")
val = get_input()
print(val)
n
это внутренняя переменная, которая хранится только в рамках
get_input
.