Надіслати розв'язок
Бали:
8,00 (partial)
Time limit:
1.0s
Memory limit:
64M
Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb
Дано рядок виду: a#b=, де a та b деякі цілі додатні числа не більші 10000, а символ «#» - одна із операцій: «+», «-», «*». Знайти значення виразу s та у вихідний потік вивести рядок a#b=s.
Формат вихідних даних
У стандартному потоці міститься рядок довжиною не більше 255 символів.
Формат вихідних даних
У стандартний потік вивести результат.
Приклад вхідних даних
2+3=
Приклад вихідних даних
2+3=5
Коментарі
def calculateexpression(inputstr): a = int(inputstr[0]) b = int(inputstr[2]) operation = inputstr[1] if operation == '+': result = a+b elif operation == '-': result = a-b elif operation == '*': result = a*b return f"{a}{operation}{b}={result}" inputstr = input().strip() print(calculateexpression(inputstr))
Оцінено в 2 бали, що неправильно з відніманням? Де недоречність?
У такому варіанті віднімання теж не неспрацьовує inputstr = input().strip() a, rest = inputstr.split('#') b, op=rest.split('=') a = int(a) b = int(b) if op == '+': result = a+b elif op == '-': result == a-b elif op == '': result = ab outputstr = f"{a}{op}{b}={result}" print(outputstr)
Супер! У вас все вийшло ;)
Доброго дня! Підкажіть, в чому проблема. В Тоні задача працює, а при здачі помилка(
Помилка у 15 рядку - su=su+int(l)
Змінна l на цей момент рівна порожньому рядку