Advertisement
nekotrap

Untitled

Oct 15th, 2021
700
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.65 KB | None | 0 0
  1. def stInside(stArr):
  2.     flag = True
  3.     newStArr = []
  4.     if len(stArr) > 4:
  5.         return False
  6.     precented = True if stArr[0][-1] == '%' else False
  7.     if precented and len(stArr) == 3:
  8.         for item in stArr:
  9.             if precented and item[-1] != '%':
  10.                 return False
  11.             newStArr.append(item[:-1])
  12.     if precented and len(newStArr) == 3:
  13.         for item in newStArr:
  14.             if not 0 <= int(item) <= 100:
  15.                 return False
  16.     if len(newStArr) != 0:
  17.         stArr = newStArr
  18.     if len(stArr) == 3:
  19.         for item in stArr:
  20.             if item == '':
  21.                 return False
  22.             if not 0 <= int(item) <= 255:
  23.                 return False
  24.     if len(stArr) == 4:
  25.         for item in stArr[:-1]:
  26.             if item == '':
  27.                 return False
  28.             if not 0 <= int(item) <= 255:
  29.                 return False
  30.         if not 0 <= float(stArr[-1]) <= 1:
  31.             return False
  32.     return flag
  33.  
  34.  
  35. s = input()
  36. s = s.replace(" ", "")
  37. finalFlag = True
  38. rgba = "rgba"
  39. st = ""
  40.  
  41. if s[-1] != ')':
  42.     finalFlag = False
  43. for i in range(s.index('(')):
  44.     if s[i] != rgba[i]:
  45.         finalFlag = False
  46. for i in range(s.index('(') + 1, len(s) - 1):
  47.     st += s[i]
  48. stArr = st.split(',')
  49. if not len(stArr) == 4 and s[3] == 'a' or s[3] == '(' and not len(stArr) == 3 :
  50.     finalFlag = False
  51. if finalFlag and stInside(stArr):
  52.     print(True)
  53. else:
  54.     print(False)
  55.  
  56. # rgb(0%,50%,100%) ---> True
  57. # rgba(0,0,0,0)    ---> True
  58. # rgb(255,255,255) ---> True
  59. # rgb(0,,0)        ---> False
  60. # rgb(-1,0,0)      ---> False
  61. # rgba(0,0,0,1.5)  ---> False
  62. # rgba(0,0,0,0.5)  ---> True
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement