def words_to_numbers(word):
"""Преобразует числа, записанные словами, в их числовое представление."""
numbers = {
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5,
"six": 6,
"seven": 7,
"eight": 8,
"nine": 9,
"ten": 10
}
return numbers.get(word.lower(), None)
def numbers_to_words(number):
"""Преобразует числовое представление в числа, записанные словами."""
numbers = {
1: "one",
2: "two",
3: "three",
4: "four",
5: "five",
6: "six",
7: "seven",
8: "eight",
9: "nine",
10: "ten",
0: "zero"
}
return numbers.get(number, None)
def calculate_expression(expression):
"""Вычисляет выражение в текстовом формате и возвращает результат словами."""
parts = expression.split()
if len(parts) != 3:
raise ValueError("Input should contain two numbers and an operator separated by spaces.")
# Разбираем числа и оператор
first_number = words_to_numbers(parts[0])
operator = parts[1]
second_number = words_to_numbers(parts[2])
if first_number is None or second_number is None:
raise ValueError("Invalid number word in the input.")
if operator not in ["+", "-"]:
raise ValueError("Operator should be '+' or '-'.")
# Вычисляем результат
if operator == "+":
result = first_number + second_number
elif operator == "-":
result = first_number - second_number
# Преобразуем результат в слова
result_word = numbers_to_words(result)
if result_word is None:
raise ValueError("Result is out of bounds (valid range: 0 to 10).")
return result_word
# Пример использования
input_expression = "three + five"
result = calculate_expression(input_expression)
print(result) # Вывод: eight
Нужно найти сумму чисел и вывести результат словами, при этом всё на английском