Advertisement
Guest User

Untitled

a guest
Jan 3rd, 2023
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.96 KB | Source Code | 0 0
  1. from math import ceil, floor
  2.  
  3.  
  4. def kys(l):
  5.     s_n = l[1:-1].split(', ')
  6.     if '/' in s_n[0]:
  7.         s_n[0] = calculate(s_n[0])
  8.     else:
  9.         s_n[0] = int(s_n[0])
  10.     if '/' in s_n[1]:
  11.         s_n[1] = calculate(s_n[1])
  12.     else:
  13.         s_n[1] = int(s_n[1])
  14.     return s_n
  15.  
  16.  
  17. def calculate(s_val):
  18.     s_splitted = s_val.split('/')
  19.     return int(s_splitted[0])/int(s_splitted[1])
  20.  
  21.  
  22. s = input()
  23. fb = s[0]
  24. lb = s[-1]
  25.  
  26. if fb == '[' and lb == ']':
  27.     s_new = kys(s)
  28.     print(floor(s_new[1]) - ceil(s_new[0]) + 1)
  29. elif fb == '(' and lb == ')':
  30.     s_new = kys(s)
  31.     if round(s_new[0]) == s_new[0] or round(s_new[1]) == s_new[1]:
  32.         print(ceil(s_new[1] - s_new[0]) - 1)
  33.     else:
  34.         print(floor(s_new[1] - s_new[0]))
  35. else:
  36.     s_new = kys(s)
  37.     if (round(s_new[0]) == s_new[0] and fb == '[') or (round(s_new[1]) == s_new[1] and lb == ']'):
  38.         print(ceil(s_new[1] - s_new[0]))
  39.     else:
  40.         print(floor(s_new[1] - s_new[0]))
  41.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement