97 lines
2.6 KiB
Python
97 lines
2.6 KiB
Python
import random
|
|
import sys
|
|
sys.setrecursionlimit(1000000000)
|
|
|
|
class Verificateur():
|
|
""" obj verif"""
|
|
def __init__(self):
|
|
self.nblist = []
|
|
self.nb1 = 1
|
|
self.nb2 = 10
|
|
self.i = 0
|
|
|
|
def set_interval(self,nb1 = 1, nb2 = 10):
|
|
self.nb1 = nb1
|
|
self.nb2 = nb2
|
|
|
|
def verif(self, nb):
|
|
|
|
if type(nb) == float:
|
|
self.nb = str(nb).split(".")
|
|
#print(self.nb)
|
|
#print("\n")
|
|
self.nb = len(self.nb[1])
|
|
#print(self.nb)
|
|
self.len = (self.nb2 - self.nb1) * 10 ** self.nb
|
|
|
|
elif type(nb) == int:
|
|
self.len = self.nb2 - self.nb1
|
|
|
|
else:
|
|
pass
|
|
|
|
if len(self.nblist) >= self.len:
|
|
#print(f"test : {self.nblist}")
|
|
return nb
|
|
|
|
if self.nblist.count(nb) < 1:
|
|
self.nblist.append(nb)
|
|
#print(self.nblist)
|
|
#print("bon")
|
|
return nb
|
|
else:
|
|
if type(nb) == int:
|
|
self.n = 0
|
|
self.n = random.randint(self.nb1, self.nb2)
|
|
#print(f"C'EST N = {self.n}")
|
|
#print(f"Faux : {nb}; test : {self.n}")
|
|
# print(f"except : {self.n} ; {self.nblist.count(self.n)}, tour : {self.i}")
|
|
self.i += 1
|
|
return self.verif(self.n)
|
|
if type(nb) == float:
|
|
self.n = 0
|
|
self.n = round(random.uniform(self.nb1, self.nb2), len(str(nb).split(".")[1]))
|
|
#print(f"C'EST N = {self.n}")
|
|
#print(f"Faux : {nb}; test : {self.n}")
|
|
# print(f"except : {self.n} ; {self.nblist.count(self.n)}, tour : {self.i}")
|
|
self.i += 1
|
|
return self.verif(self.n)
|
|
|
|
#return self.n
|
|
|
|
|
|
|
|
|
|
def int_verif(self, nb, nb1, nb2):
|
|
if self.nblist.count(nb) < 1:
|
|
self.nblist.append(nb)
|
|
# print(self.nblist)
|
|
return True
|
|
else:
|
|
#print(len(self.nblist))
|
|
if len(self.nblist) == nb2:
|
|
print("BREAAAAAAK")
|
|
return input()
|
|
self.n = random.randint(nb1, nb2)
|
|
print(f"Faux : {nb}; test : {self.n}")
|
|
self.int_verif(self.n, nb1, nb2)
|
|
print(self.nblist)
|
|
return False
|
|
|
|
def reinit(self):
|
|
self.nblist[:] = []
|
|
self.nb1 = 1
|
|
self.nb2 = 10
|
|
|
|
|
|
|
|
|
|
"""test.verif(5)
|
|
for x in range(1, 10):
|
|
n = random.randint(1, 10)
|
|
print(f"{test.verif(n)}")
|
|
print(test.nblist)
|
|
for x in range(0, len(test.nblist)):
|
|
print(test.nblist.count(x))
|
|
"""
|