Generateurv2/backend/api/api/Generateur/Generateur_special/modules/verif.py

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))
"""