Advertisement
575

Calc str examples

575
Feb 11th, 2017
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.99 KB | None | 0 0
  1. def define(example):
  2.     if '--' in example:
  3.         result_arr = example.split('--')
  4.         result = ''
  5.         for ex in result_arr:
  6.             result += ex + '+'
  7.         return define(result[: len(result) - 1])
  8.     try:
  9.         result = int(example)
  10.         return result
  11.     except ValueError:
  12.         if '(' not in example:
  13.             if '*' in example:
  14.                 index = example.find('*')
  15.                 for j in range(index - 1, -1, -1):
  16.                     try:
  17.                         check = int(example[j])
  18.                         if j is 0:
  19.                             first_number = int(example[j : index])
  20.                             start_first_number = j
  21.                     except ValueError:
  22.                         if example[j] is '-':
  23.                             first_number = int(example[j : index])
  24.                             start_first_number = j
  25.                             break
  26.                         else:
  27.                             first_number = int(example[j + 1 : index])
  28.                             start_first_number = j + 1
  29.                             break
  30.                 if example[index + 1] is '-':
  31.                     for j in range(index + 2, len(example)):
  32.                         try:
  33.                             check = int(example[j])
  34.                             if j is len(example) - 1:
  35.                                 second_number = int(example[index + 1 :])
  36.                                 finish_second_number = j
  37.                         except ValueError:
  38.                             second_number = int(example[index + 1 : j])
  39.                             finish_second_number = j - 1
  40.                             break
  41.                 else:
  42.                     for j in range(index + 1, len(example)):
  43.                         try:
  44.                             check = int(example[j])
  45.                             if j is len(example) - 1:
  46.                                 second_number = int(example[index + 1 :])
  47.                                 finish_second_number = j
  48.                         except ValueError:
  49.                             second_number = int(example[index + 1 : j])
  50.                             finish_second_number = j - 1
  51.                             break
  52.                 result_number = first_number * second_number
  53.                 example = example[:start_first_number] + str(result_number) + example[finish_second_number + 1 :]
  54.                 return define(example)
  55.  
  56.  
  57.  
  58.             elif '+' in example:
  59.                 index = example.find('+')
  60.                 for j in range(index - 1, -1, -1):
  61.                     try:
  62.                         check = int(example[j])
  63.                         if j is 0:
  64.                             first_number = int(example[j : index])
  65.                             start_first_number = j
  66.                     except ValueError:
  67.                         if example[j] is '-':
  68.                             first_number = int(example[j : index])
  69.                             start_first_number = j
  70.                             break
  71.                         else:
  72.                             first_number = int(example[j + 1 : index])
  73.                             start_first_number = j + 1
  74.                             break
  75.                 if example[index + 1] is '-':
  76.                     for j in range(index + 2, len(example)):
  77.                         try:
  78.                             check = int(example[j])
  79.                             if j is len(example) - 1:
  80.                                 second_number = int(example[index + 1 :])
  81.                                 finish_second_number = j
  82.                         except ValueError:
  83.                             second_number = int(example[index + 1 : j])
  84.                             finish_second_number = j - 1
  85.                             break
  86.                 else:
  87.                     for j in range(index + 1, len(example)):
  88.                         try:
  89.                             check = int(example[j])
  90.                             if j is len(example) - 1:
  91.                                 second_number = int(example[index + 1 :])
  92.                                 finish_second_number = j
  93.                         except ValueError:
  94.                             second_number = int(example[index + 1 : j])
  95.                             finish_second_number = j - 1
  96.                             break
  97.                 result_number = first_number + second_number
  98.                 example = example[:start_first_number] + str(result_number) + example[finish_second_number + 1 :]
  99.                 return define(example)
  100.  
  101.  
  102.  
  103.             else:
  104.                 index = example.rfind('-')
  105.                 for j in range(index - 1, -1, -1):
  106.                     try:
  107.                         check = int(example[j])
  108.                         if j is 0:
  109.                             first_number = int(example[j : index])
  110.                             start_first_number = j
  111.                     except ValueError:
  112.                         if example[j] is '-':
  113.                             first_number = int(example[j : index])
  114.                             start_first_number = j
  115.                             break
  116.                         else:
  117.                             first_number = int(example[j + 1 : index])
  118.                             start_first_number = j + 1
  119.                             break
  120.                 if example[index + 1] is '-':
  121.                     for j in range(index + 2, len(example)):
  122.                         try:
  123.                             check = int(example[j])
  124.                             if j is len(example) - 1:
  125.                                 second_number = int(example[index + 1 :])
  126.                                 finish_second_number = j
  127.                         except ValueError:
  128.                             second_number = int(example[index + 1 : j])
  129.                             finish_second_number = j - 1
  130.                             break
  131.                 else:
  132.                     for j in range(index + 1, len(example)):
  133.                         try:
  134.                             check = int(example[j])
  135.                             if j is len(example) - 1:
  136.                                 second_number = int(example[index + 1 :])
  137.                                 finish_second_number = j
  138.                         except ValueError:
  139.                             second_number = int(example[index + 1 : j])
  140.                             finish_second_number = j - 1
  141.                             break
  142.                 result_number = first_number - second_number
  143.                 example = example[:start_first_number] + str(result_number) + example[finish_second_number + 1 :]
  144.                 return define(example)
  145.         else:
  146.             index1 = example.rfind('(')
  147.             index2 = example.find(')', example.rfind('('), len(example))
  148.             result_number = define(example[index1 + 1 : index2])
  149.             example = example[:index1] + str(result_number) + example[index2 + 1 :]
  150.             return define(example)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement