Перво-наперво, sum - это встроенная функция python, поэтому вам, вероятно, следует переименовать вашу функцию в my_sum
Также есть два способа импортировать функцию
from totalages import my_sum
, который говорит переводчику перейти к totalages.py
и импортировать функцию my_sum
, а затем вы можете напрямую использовать my_sum(a, b)
import totalages
, для чего вам нужно сделать totalages.my_sum(a,b)
Теперь, что здесь произошло, что ваш оператор импорта сработал, но вы ссылались на встроенный Python sum
, на который я ссылался ранее,который принимает итеративный как список, но так как вы передаете ему целое число, вы получаете ошибку, которую вы видели int object is not iterable
следующим образом
In [2]: sum(1+2)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-2-6576b93b138f> in <module>
----> 1 sum(1+2)
TypeError: 'int' object is not iterable
Так что, учитывая все это, ваш исходный код изменится на
#Corrected import statement
from totalages import my_sum
firstage = int(input('enter age: '))
secondage = int(input('enter age: '))
result = my_sum(firstage, secondage)
print('together you are', result, 'years old')
И ваш totalages.py изменится на
def my_sum(a, b):
return a + b
Или другой вариант, если вы используете import totalages
, будет
import totalages
firstage = int(input('enter age: '))
secondage = int(input('enter age: '))
result = totalages.my_sum(firstage, secondage)
print('together you are', result, 'years old')
Вывод будет выглядетькак:
enter age: 20
enter age: 30
together you are 50 years old