You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
2.5 KiB
112 lines
2.5 KiB
import random as r
|
|
|
|
# Fonction avec des int (Pas la bonne fonction)
|
|
def binaire2unitaire(x):
|
|
lentre=[]
|
|
unitaire=[]
|
|
rep=0
|
|
for i in str(x):
|
|
lentre.append(i)
|
|
pre=lentre[0]
|
|
for i in lentre:
|
|
if(pre==i):
|
|
rep+=1
|
|
else:
|
|
if(pre=="1"):
|
|
unitaire.append(0)
|
|
else:
|
|
unitaire.append(0)
|
|
unitaire.append(0)
|
|
unitaire.append(" ")
|
|
for j in range(rep):
|
|
unitaire.append(0)
|
|
unitaire.append(" ")
|
|
rep=1
|
|
pre=i
|
|
if(pre=="1"):
|
|
unitaire.append(0)
|
|
else:
|
|
unitaire.append(0)
|
|
unitaire.append(0)
|
|
unitaire.append(" ")
|
|
for j in range(rep):
|
|
unitaire.append(0)
|
|
r=""
|
|
for i in unitaire:
|
|
r=r+str(i)
|
|
return r
|
|
|
|
# fonction avec des str (bonne fonction)
|
|
def binaire2unitaireV2(x):
|
|
rep=0
|
|
pre=x[0]
|
|
unitaire=""
|
|
for i in x:
|
|
if(pre==i):
|
|
rep+=1
|
|
else:
|
|
if(pre=="1"):
|
|
unitaire=unitaire+"0 "
|
|
else:
|
|
unitaire=unitaire+"00 "
|
|
for j in range(rep):
|
|
unitaire=unitaire+"0"
|
|
unitaire=unitaire+" "
|
|
rep=1
|
|
pre=i
|
|
if(pre=="1"):
|
|
unitaire=unitaire+"0 "
|
|
else:
|
|
unitaire=unitaire+"00 "
|
|
for i in range(rep):
|
|
unitaire=unitaire+"0"
|
|
return unitaire
|
|
|
|
|
|
def binaire2unitaireVerif(x):
|
|
rep=0
|
|
pre=x[0]
|
|
unitaire=""
|
|
for i in x:
|
|
if(pre==i):
|
|
rep+=1
|
|
else:
|
|
if(pre=="1"):
|
|
unitaire=unitaire+"0 "
|
|
else:
|
|
unitaire=unitaire+"00 "
|
|
for j in range(rep):
|
|
unitaire=unitaire+"0"
|
|
unitaire=unitaire+" "
|
|
rep=1
|
|
pre=i
|
|
if(pre=="1"):
|
|
unitaire=unitaire+"0 "
|
|
else:
|
|
unitaire=unitaire+"00 "
|
|
for i in range(rep):
|
|
unitaire=unitaire+"0"
|
|
return unitaire
|
|
|
|
|
|
|
|
def testChuckNorris(x):
|
|
l="0000000"
|
|
if(binaire2unitaireV2(l)!="00 0000000"):
|
|
return False
|
|
l="1111111"
|
|
if(binaire2unitaireV2(l)!="0 0000000"):
|
|
return False
|
|
l="1101001"
|
|
if(binaire2unitaireV2(l)!="0 00 00 0 0 0 00 00 0 0"):
|
|
return False
|
|
l=""
|
|
for i in range(x):
|
|
for j in range(r.randint(1,10)):
|
|
l=l+str(r.randint(0,1))
|
|
if(binaire2unitaireV2(l)!=binaire2unitaireVerif(l)):
|
|
return False
|
|
l=""
|
|
return True
|
|
|
|
print(testChuckNorris(10)) |