Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def define(example):
- if '--' in example:
- result_arr = example.split('--')
- result = ''
- for ex in result_arr:
- result += ex + '+'
- return define(result[: len(result) - 1])
- try:
- result = int(example)
- return result
- except ValueError:
- if '(' not in example:
- if '*' in example:
- index = example.find('*')
- for j in range(index - 1, -1, -1):
- try:
- check = int(example[j])
- if j is 0:
- first_number = int(example[j : index])
- start_first_number = j
- except ValueError:
- if example[j] is '-':
- first_number = int(example[j : index])
- start_first_number = j
- break
- else:
- first_number = int(example[j + 1 : index])
- start_first_number = j + 1
- break
- if example[index + 1] is '-':
- for j in range(index + 2, len(example)):
- try:
- check = int(example[j])
- if j is len(example) - 1:
- second_number = int(example[index + 1 :])
- finish_second_number = j
- except ValueError:
- second_number = int(example[index + 1 : j])
- finish_second_number = j - 1
- break
- else:
- for j in range(index + 1, len(example)):
- try:
- check = int(example[j])
- if j is len(example) - 1:
- second_number = int(example[index + 1 :])
- finish_second_number = j
- except ValueError:
- second_number = int(example[index + 1 : j])
- finish_second_number = j - 1
- break
- result_number = first_number * second_number
- example = example[:start_first_number] + str(result_number) + example[finish_second_number + 1 :]
- return define(example)
- elif '+' in example:
- index = example.find('+')
- for j in range(index - 1, -1, -1):
- try:
- check = int(example[j])
- if j is 0:
- first_number = int(example[j : index])
- start_first_number = j
- except ValueError:
- if example[j] is '-':
- first_number = int(example[j : index])
- start_first_number = j
- break
- else:
- first_number = int(example[j + 1 : index])
- start_first_number = j + 1
- break
- if example[index + 1] is '-':
- for j in range(index + 2, len(example)):
- try:
- check = int(example[j])
- if j is len(example) - 1:
- second_number = int(example[index + 1 :])
- finish_second_number = j
- except ValueError:
- second_number = int(example[index + 1 : j])
- finish_second_number = j - 1
- break
- else:
- for j in range(index + 1, len(example)):
- try:
- check = int(example[j])
- if j is len(example) - 1:
- second_number = int(example[index + 1 :])
- finish_second_number = j
- except ValueError:
- second_number = int(example[index + 1 : j])
- finish_second_number = j - 1
- break
- result_number = first_number + second_number
- example = example[:start_first_number] + str(result_number) + example[finish_second_number + 1 :]
- return define(example)
- else:
- index = example.rfind('-')
- for j in range(index - 1, -1, -1):
- try:
- check = int(example[j])
- if j is 0:
- first_number = int(example[j : index])
- start_first_number = j
- except ValueError:
- if example[j] is '-':
- first_number = int(example[j : index])
- start_first_number = j
- break
- else:
- first_number = int(example[j + 1 : index])
- start_first_number = j + 1
- break
- if example[index + 1] is '-':
- for j in range(index + 2, len(example)):
- try:
- check = int(example[j])
- if j is len(example) - 1:
- second_number = int(example[index + 1 :])
- finish_second_number = j
- except ValueError:
- second_number = int(example[index + 1 : j])
- finish_second_number = j - 1
- break
- else:
- for j in range(index + 1, len(example)):
- try:
- check = int(example[j])
- if j is len(example) - 1:
- second_number = int(example[index + 1 :])
- finish_second_number = j
- except ValueError:
- second_number = int(example[index + 1 : j])
- finish_second_number = j - 1
- break
- result_number = first_number - second_number
- example = example[:start_first_number] + str(result_number) + example[finish_second_number + 1 :]
- return define(example)
- else:
- index1 = example.rfind('(')
- index2 = example.find(')', example.rfind('('), len(example))
- result_number = define(example[index1 + 1 : index2])
- example = example[:index1] + str(result_number) + example[index2 + 1 :]
- return define(example)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement