не удается пройти дальше чем первое условие, может необходимо что-то скоректировать?
Написать функцию, которая принимает 2 аргумента - целых числа. Внутри функции делается поверка типа. Если хотя бы одно их них не int, то возвращается 1, если оба int, то считается их сумма. Если сумма положительная, то возвращается 0, если отрицательная, то -1.
Написала такой код, но не удается пройти дальше чем первое условие, может необходимо что-то скоректировать?
def function(a, b,):
if a or b != int(function()):
return 1
else:
return (sum(function()))
if sum >= 0:
return 1
elif sum < 0:
return -1
function_finish = function(2, -10)
print(function_finish)
Ответы (1 шт):
1. Неправильная проверка типа
int(function())
Данное выражение — это результат вызова function, преобразованный к числу. Если бы это выражение когда-нибудь исполнилось бы, то возникло бы следующее исключение:
TypeError: function() missing 2 required positional arguments: 'a' and 'b'
Но оно вообще никогда не исполнится, о чём расскажу ниже.
Чтобы проверить тип объекта, Вы должны передать его функции type:
type(a) != int
2. Неправильное построение условия
type(a) or type(b) != int
Такое условие будет истинно всегда. До части после or исполнение даже не дойдёт. Необходимо указывать оператор сравнения для каждого результата вызова type:
type(a) != int or type(b) != int
3. Неправильное суммирование
Для того чтобы просуммировать два числа, просто воспользуйтесь оператором сложения:
a + b