code: def group(self):
          
          z = self.Z
          if z == 1:
              return 1
          if z == 2:
              return 18
          if 3 <= z <= 18:
              if (z - 2) % 8 == 0:
                  return 18
              elif (z - 2) % 8 <= 2:
                  return (z - 2) % 8
              else:
                  return 10 + (z - 2) % 8
  
          if 19 <= z <= 54:
              if (z - 18) % 18 == 0:
                  return 18
              else:
                  return (z - 18) % 18
  
          if (z - 54) % 32 == 0:
              return 18
          elif (z - 54) % 32 >= 18:
              return (z - 54) % 32 - 14
          else:
              return (z - 54) % 32
docs: Returns the periodic table group of the element.