class InputValidater: def __init__(self): self._char_set=set() self._space=[32,10] _input_file=open(0) self._input_data=list(_input_file.read()) self._input_data_uni=[] for data in self._input_data: self._input_data_uni.append(ord(data)) self._length=len(self._input_data) self._index=0 _input_file.close() return def readSpace(self): if self._input_data_uni[self._index]!=32: raise ValueError(f"{self._input_data[self._index]} is not space.") self._index+=1 return def readEoln(self): if self._input_data_uni[self._index]!=10: raise ValueError(f"{self._input_data[self._index]} is not Eoln.") self._index+=1 return def readEof(self): if self._index!=self._length: raise ValueError(f"It is not Eof.") return def readInt(self,lower=None,upper=None): res_list=[] if self._input_data_uni[self._index]==45: res_list.append("-") self._index+=1 while self._input_data_uni[self._index] not in self._space: if self._index==self._length: raise Exception("There is No data.") if 57res_int: raise ValueError(f"{res_int} is less than {lower}.") if upper!=None and upper1: raise Exception(f"Floating points are 2.") res_list.append(self._input_data[self._index]) self._index+=1 res_float=float("".join(res_list)) if lower!=None and lower>res_float: raise ValueError(f"{res_int} is less than {lower}.") if upper!=None and upper