Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- text = 'oneoneminustwotwo'
- converter = {
- 'one':1, 'two':2, 'three':3, 'four':4, 'five':5, 'six':6, 'seven':7, 'eight':8, 'nine':9,
- 'plus':'+', 'minus':'-'
- }
- def words_split(num):
- numbers_given = []
- n = ''
- for i in range(len(num)):
- n += num[i]
- if n in converter:
- numbers_given.append(n)
- n = ''
- return numbers_given
- def nums_convert(storage, converter_nums):
- n = ''
- for i in range(len(storage)):
- n += str(converter_nums[storage[i]])
- return n
- def numbers_splitting_by_sides(number):
- result = ''
- if "+" in number:
- num = number.split("+")
- left_side = int(num[0])
- right_side = int(num[1])
- result = str(left_side + right_side)
- elif "-" in number:
- num = number.split("-")
- left_side = int(num[0])
- right_side = int(num[1])
- result = str(left_side - right_side)
- return result
- def get_key(val):
- for key, value in converter.items():
- if val == value:
- return key
- return "key doesn't exist"
- def calculating_number(n):
- final_result = ''
- for el in n:
- if el.startswith("-"):
- final_result += "negative"
- continue
- final_result += get_key(int(el))
- return final_result
- numbers_storage = words_split(text)
- converted_numbers = nums_convert(numbers_storage, converter)
- splitted_numbers= numbers_splitting_by_sides(converted_numbers)
- result = calculating_number(splitted_numbers)
- print(result)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement