split ввод в одну строчку ошибка с "с"

помогите. Написал простой калькулятор,в котором элементы вводятся в одну строчку. Использовал split, ошибка с "с"

def sum (a, b, c):
    if c == "+":
        return a + b
    elif c == "-":
        return a - b
    elif c == "*":
        return a * b
    elif c == "/":
        return a / b
    else:
        return "unknown value"
result = sum (int, input().split())
print(result) 

Ответы (2 шт):

Автор решения: Shift

Не особо понял, зачем наворотили туда сплиты и тип переменной. Можно попросту огласить три переменные-вводы и затем провести над ними операцию.

intA = int(input("Введите число:  "))
intB = int(input("Введите число: "))
oper = input("Введите оператор: ")
result = sum(intA, intB, oper)
print(result)

Этот код вставляете вместо вашей переменной result. Также, советую не называть такую функцию sum(), ибо здесь кроме сложения присутствуют другие операторы.

→ Ссылка
Автор решения: EmbraceTradition

Вероятно вот что вы хотели получить. Ошибки были в том, что вы складывали строки и тогда 1+3 = 13, а во вторых функция split возвращает массив, а не несколько переменных, и тогда весь массив из [1,+,3] попадал в переменную b, а переменная c оставалась пустовать. А в переменной a вообще какая-то страшилка сидела в виде просто типа int

def sum (a):
    if a[1] == "+":
        return int(a[0]) + int(a[2])
    elif a[1] == "-":
        return int(a[0]) - int(a[2])
    elif a[1] == "*":
        return int(a[0]) * int(a[2])
    elif a[1] == "/":
        return int(a[0]) / int(a[2])
    else:
        return "unknown value"

result = sum((input().split()))
print(result)
→ Ссылка