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.

79 lines
2.0 KiB

//~ Function that test the user code
async function submit(){
var test = editor.getValue()+`\n
import random as r
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(binaire2unitaire(l)!="00 0000000"):
return False
l="1111111"
if(binaire2unitaire(l)!="0 0000000"):
return False
l="1101001"
if(binaire2unitaire(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(binaire2unitaire(l)!=binaire2unitaireVerif(l)):
return False
l=""
return True
print(testChuckNorris(5))
`;
exec("print ('True')", "code");
exec(test, "solution");
await new Promise(r => setTimeout(r, 1500));
check();
}
function aide(){
if(document.getElementById("textAide").textContent == ""){
document.getElementById("textAide").textContent = "Bonne chance :)";
}
else{
document.getElementById("textAide").textContent = "";
}
}
function rappel(){
if(document.getElementById("textRappel").textContent == ""){
document.getElementById("textRappel").textContent = `
Dans le codage Chuck Norris, le '0' est codé '00' et le '1' est codé '0'. Puis un espace, puis ensuite autant de '0' que le message contient de '0' ou '1' successifs.
Par exemple, la suite "10000111" sera traduite de la façon suivante : "0 0 00 0000 0 000
`
}
else{
document.getElementById("textRappel").textContent = "";
}
}