Я новичок, который только начинает. Я играл с функцией, и я не могу понять, почему я получаю результат ниже из приведенного ниже кода:
Почему он не выводит возвращаемое значение, а также текст из функции непрерывными строками, почему результат выглядит так, как будто он дважды перебирает функции?
def add(a, b):
print "ADDING %d + %d" % (a, b)
return a + b
def subtract(a, b):
print "SUBTRACTING %d - %d" % (a, b)
return a - b
def multiply(a, b):
print "MULTIPLYING %d * %d" % (a, b)
return a * b
plus = add(1,1)
minus = subtract(1,1)
times = multiply(1,1)
print plus
print minus
print times
Результат, который я получаю:
ADDING 1 + 1
SUBTRACTING 1 - 1
MULTIPLYING 1 * 1
2
0
1






Ваш код написан таким образом. Сначала вы выполняете все три функции. Затем вы распечатываете результаты всех трех функций.
plus = add(1,1) # ADDING 1 + 1
minus = subtract(1,1) # SUBTRACTING 1 - 1
times = multiply(1,1) # MULTIPLYING 1 * 1
print plus # 2
print minus # 0
print times # 1
Если вы хотите, чтобы результаты чередовались с вычислениями, чередуйте их.
plus = add(1,1) # ADDING 1 + 1
print plus # 2
minus = subtract(1,1) # SUBTRACTING 1 - 1
print minus # 0
times = multiply(1,1) # MULTIPLYING 1 * 1
print times # 1
Это порядок выполнения вашей программы. Сначала вы вызываете все функции, а затем распечатываете результаты.