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.
Scripted/import.sql

20 lines
18 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

INSERT INTO Utilisateur VALUES('admin@gmail.com','Admin','$2y$10$0uRkVGPIop.lWuF.QYXwJe8dTXPULbOadgZ49JgdFlq2Ywi3QHZHO',1);;
INSERT INTO Utilisateur VALUES('no@gmail.com','Noé','$2y$10$mZoWHkT./GEqnXnKUXrO8e8NTl7gE5QybjU/9mwty1M7KZDTAFYPi',0);
INSERT INTO Utilisateur VALUES('na@gmail.com','Nathan','$2y$10$G9eR4c36K9Sev5MYWsBfOOU24KsE2MgH.DvA7yghYC1wXo/gxxug2',0);
INSERT INTO Utilisateur VALUES('jo@gmail.com','Johan','$2y$10$hFlnpJeVVHwiwA2M6RZlJO15R6fbnYr85lvzgCcbk25KTXi/jBta6',0);
INSERT INTO Utilisateur VALUES('pascal.lafourcade@uca.fr','Pascal','$2y$10$dtyXN7Lwv0GFhP6TaMHYq.n2M02RZXpnKtpCd72HdxhE93YGxrvB6',0);
INSERT INTO Enigme VALUES(3,'CesarEncrypt','Écrire une fonction <b style="color : violet">Encrypt</b> qui prend en argument un <b style="color:#44fff6;">message</b> et une <b style="color:#44fff6;">clé</b> et qui retourne le <b style="color: yellow;"> message crypté</b> avec le code <b>César</b>.(les espace ne seront pas encodé.)','Alors, la fonction ord(char) de python permet de retourner l''Unicode (standard dencodage de caractères) d''un caractère.<br/>Par exemple, ord(''a'') retourne ''97'' et ord(''b'')) retourne ''98''.','Le code <b>César</b> (ou chiffre de César ) est un chiffrement par substitution,<br>où chaque lettre est remplacée par une autre lettre se situant un peu plus loin dans l''alphabet .<br>Par exemple A avec une clé 2 devient C.','<b>Entrée</b> :<b>Sortie</b> :<br>''cyber'',3 fbehu',replace(replace('def EncryptVerif(text, key):\r\n result = ""\r\n for i in range(len(text)):\r\n char = text[i]\r\n if(char==" "):\r\n result+=" "\r\n elif (char.isupper()):\r\n result += chr((ord(char) + key-65) % 26 + 65)\r\n else:\r\n result += chr((ord(char) + key - 97) % 26 + 97)\r\n return result','\r',char(13)),'\n',char(10)),replace(replace('Import random as r\r\ndef testEncrypte(x):\r\n Encrypt("",1)\r\n if(Encrypt("Hello world",2)!="Jgnnq yqtnf"):\r\n return False\r\n if(Encrypt("Scripted",9)!="Blarycnm"):\r\n return False\r\n for i in range(x):\r\n l=""\r\n cle=r.randint(1,26)\r\n for i in range(r.randint(1,10)):\r\n l+=chr(r.randint(97,122))\r\n if(Encrypt(l,cle)!=EncryptVerif(l,cle)):\r\n return False\r\n return True\r\n \r\nprint(testEncrypte(5))','\r',char(13)),'\n',char(10)),2,0,0,'def Encrypt(text, key):');
INSERT INTO Enigme VALUES(4,'Chouette','Écrire une fonction <b style="color: violet;">chouette</b> qui, pour une <b style="color: #44fff6;">valeur</b> donnée, renvoie une <b style="color:yellow">liste</b> contenant toutes les combinaisons possible avec 3 dés pouvant donner cette <b style="color: #44fff6;">valeur</b>. </br>La <b style="color:#44fff6;">valeur</b> peut aller de 3 à 18. </br>Les solutions doivent être uniques.(1,2,3) et (3,2,1) sont la même solution.',replace(replace('On cherche à savoir si la somme de 3 dés (trois variables allant de 1 à 6) est égale à une valeur donnée.\r\n<br /> On peut donc faire une boucle imbriquée pour tester toutes les combinaisons possibles. Si la somme est égale à la valeur donnée, on l''ajoute à la liste.\r\n<br /> Pour éviter les doublons, on peut trier les valeurs avant de l''ajouter à la liste.\r\n\r\n<br><code style="font-size: 18px"> for d1 in range(1, 7):<br> for d2 in range (1, 7):<br> #Faire...</code>','\r',char(13)),'\n',char(10)),'Il n''y a pas de rappel pour cette énigme.','<b>Entrée</b> : 7</p><p><b>Sortie</b> : [[1,1,5],[1,2,4],[1,3,3],[2,2,3]]',replace(replace('def chouetteVerif(valeur): \r\n res=list() \r\n for i in range(1, 7): \r\n for j in range(i, 7): \r\n for k in range(j, 7): \r\n if (i+j+k) == valeur: \r\n
res.append([i, j, k]) \r\n return res','\r',char(13)),'\n',char(10)),replace(replace('import random as r\r\ndef test_chouette(n):\r\n chouette(1)\r\n listTest=[]\r\n for i in range(0,n):\r\n listTest.append(r.randint(3,18))\r\n for i in listTest:\r\n listVerif=chouette(i)\r\n listUser=chouetteVerif(i)\r\n for i in listUser:\r\n if(i not in listVerif):\r\n return False\r\n for i in listVerif:\r\n if(i not in listUser):\r\n
return False\r\n return True\r\n\r\nprint(test_chouette(5))','\r',char(13)),'\n',char(10)),6,0,0,'def chouette(valeur):');
INSERT INTO Enigme VALUES(5,'Palindrome','Écrire une fonction <b style="color: violet;">estPalindrome(var)</b> qui prend en argument une <b style="color:#44fff6">chaine de caractère</b> et qui renvoie <b style="color: green;">True</b> si cest un palindrome et <b style="color: red;">False</b> sinon.','En python linstruction [::-1] permet dinverse une chaine de caractère. <br /><br />print("ae"[::-1]) -> ea.','Un palindrome est une chaine de caractère dont l''ordre des lettres reste le même, qu''on les lise de gauche à droite ou de droite à gauche.','<b style="color: violet;">estPalindrome(''12321'')</b> renvoie <b style="color: green;"></b>True</b>',replace(replace('def estPalindromeVerif(var):\r\n if(var == var[::-1]):\r\n return True\r\n else:\r\n return False','\r',char(13)),'\n',char(10)),replace(replace('import random as r\r\ndef testPalindrome(x):\r\n l=[1,2,3,2,1]\r\n if(estPalindrome(l)==False):\r\n return False\r\n l=[9,5,7,7,9]\r\n if(estPalindrome(l)==True):\r\n return False\r\n l=[]\r\n for i in range(x):\r\n for j in range(r.randint(1,10)):\r\n l.append(r.randint(0,9))\r\n if(estPalindromeVerif(l)!=estPalindrome(l)):\r\n return False\r\n l=[]\r\n return True\r\n\r\nprint(testPalindrome(5))','\r',char(13)),'\n',char(10)),1,0,0,'def estPalindromge(var):');
INSERT INTO Enigme VALUES(10,'CesarDecrypt','Écrire une fonction <b style="color : violet">Decrypt</b> qui prend en argument un <b style="color: #44fff6;">message</b> et une <b style="color: #44fff6;">clé</b> et qui retourne le message décrypté avec le code <b>César</b>.(les espace ne seront pas encodé.)','La fonction ord(char) de python permet de retourner l''Unicode (standard dencodage de caractères) d''un caractère.<br/> Par exemple, ord(''a'') retourne ''97'' et ord(''b'')) retourne ''98''.','Le code <b>César</b> (ou chiffre de César ) est un chiffrement par substitution, <br>où chaque lettre est remplacée par une autre lettre se situant un peu plus loin dans l''alphabet .<br>Par exemple A avec une clé 2 devient C.','<b>Entrée</b> :&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;<b>Sortie</b> : <br>''fbehu'',3&emsp;&emsp;&emsp;&emsp;&emsp;&nbsp;cyber',replace(replace('def DecryptVerif(text, key):\r\n result = ""\r\n for i in range(len(text)):\r\n char = text[i]\r\n if(char==" "):\r\n result+=" "\r\n elif (char.isupper()):\r\n result += chr((ord(char) - key-65) % 26 + 65)\r\n else:\r\n result += chr((ord(char) - key - 97) % 26 + 97)\r\n return result','\r',char(13)),'\n',char(10)),replace(replace('import random as r\r\ndef testDecrypte(x):\r\n Decrypt("",1)\r\n if(Decrypt("Jgnnq yqtnf",2)!="Hello world"):\r\n return False\r\n if(Decrypt("Blarycnm",9)!="Scripted"):\r\n return False\r\n for i in range(x):\r\n l=""\r\n cle=r.randint(1,26)\r\n for i in range(r.randint(1,10)):\r\n l+=chr(r.randint(97,122))\r\n if(Decrypt(l,cle)!=DecryptVerif(l,cle)):\r\n return False\r\n return True\r\n \r\nprint(testDecrypte(5))','\r',char(13)),'\n',char(10)),4,0,0,'def Decrypt(text, key):');
INSERT INTO Enigme VALUES(12,'ChuckNorris','Coder un fonction <b style="color: violet;">binaire2unaire</b> qui prend en argument un <b style="color: #44fff6;">nombre binaire</b> et qui le retourne le <b style="color: yellow;">nombre</b> codé via le codage <b>Chuck Norris</b>.','En python les chaines de carractère peuvent être utilisé comme une liste.','Dans le codage <b>Chuck Norris</b>, 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.<br>Par exemple, la suite "10000111" sera traduite de la façon suivante : "0 0 00 0000 0 000','<b>Entrée</b> :&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;<b>Sortie</b> : <br>10000111&emsp;&emsp;&emsp;&emsp;&emsp;&nbsp;0 0 00 0000 0 000',replace(replace('def binaire2unitaireVerif(x):\r\n rep=0\r\n pre=x[0]\r\n unitaire=""\r\n for i in x:\r\n if(pre==i):\r\n rep+=1\r\n else:\r\n
if(pre=="1"):\r\n unitaire=unitaire+"0 "\r\n else:\r\n unitaire=unitaire+"00 "\r\n for j in range(rep):\r\n unitaire=unitaire+"0"\r\n unitaire=unitaire+" "\r\n rep=1\r\n pre=i\r\n if(pre=="1"):\r\n unitaire=unitaire+"0 "\r\n else:\r\n unitaire=unitaire+"00 " \r\n for i in range(rep):\r\n unitaire=unitaire+"0"\r\n return unitaire','\r',char(13)),'\n',char(10)),replace(replace('import random as r\r\ndef testChuckNorris(x):\r\n l="0000000"\r\n binaire2unitaire(l)\r\n if(binaire2unitaire(l)!="00 0000000"):\r\n return False\r\n l="1111111"\r\n if(binaire2unitaire(l)!="0 0000000"):\r\n return False\r\n l="1101001"\r\n if(binaire2unitaire(l)!="0 00 00 0 0 0 00 00 0 0"):\r\n return False\r\n l=""\r\n for i in range(x):\r\n for j in range(r.randint(1,10)):\r\n
l=l+str(r.randint(0,1))\r\n if(binaire2unitaire(l)!=binaire2unitaireVerif(l)):\r\n return False\r\n l=""\r\n return True\r\n\r\nprint(testChuckNorris(5))','\r',char(13)),'\n',char(10)),3,0,0,'def binaire2unitaire(x):');
INSERT INTO Enigme VALUES(13,'Hanoi',' Écrire une fonction <b style="color: violet;">hanoi</b> permettant de résoudre le problème des <b>tours dhanoi </b> peu importe le nombre d''entrées dans la fonction. <br />Cette fonction devra prend en paramètre le <b style="color: #44fff6;">nombre de disques</b>, le <b style="color: #44fff6;">nom</b> de la tour de départ, le <b style="color: #44fff6;">nom</b> la tour d''arrivée et le <b style="color: #44fff6;">nom</b> la tour intermédiaire. <br /> Elle devra retoure une <b style="color: yellow;">liste</b> contenant les déplacements à effectuer (cf exemple ci-dessous).','Pense à utiliser une fonction récursive pour résoudre ce problème. Pour rappel une fonction récursive est une fonction qui s''appelle elle même. ','Le problème des tours de <b>hanoi</b> est le suivant, on souhaite déplacer un certain nombre de disque de taille différente et ils sont et doivent restés empilés de telle sorte quaucun disque dune certaine taille n soit placé en dessous dun disque de taille plus grande en sachant quil ny a que 3 piles.','<b>Entrée</b> :3,"A","B","C"<br><b>Sortie</b> : [[''A'',''C''],[''A'',''B''],[''C'',''B''],[''A'',''C''],[''B'',''A''],[''B'',''C''],[''A'',''C'']]',replace(replace('def hanoi_rec(l,nb_disks, start, middle, end):\r\n if(nb_disks == 1):\r\n return l.append([start,end])\r\n else:\r\n hanoi_rec(l,nb_disks - 1, start, end, middle)\r\n l.append([start,end])\r\n hanoi_rec(l,nb_disks - 1, middle, start, end)\r\n\r\ndef hanoiVerif(nb_disks,start, middle, end):\r\n l=[]\r\n hanoi_rec(l,nb_disks,start, middle, end)\r\n return l','\r',char(13)),'\n',char(10)),replace(replace('import random as r\r\ndef testhanoi(x):\r\n hanoi(1,"A","B","C")\r\n if(hanoi(3,"A","B","C")!=[[''A'',''C''],[''A'',''B''],[''C'',''B''],[''A'',''C''],[''B'',''A''],[''B'',''C''],[''A'',''C'']]):\r\n return False\r\n for i in range(x):\r\n j=r.randint(1,4)\r\n if(hanoi(j,"Z","E","R")!=hanoiVerif(j,"Z","E","R")):\r\n return False\r\n return True\r\n\r\nprint(testhanoi(5))','\r',char(13)),'\n',char(10)),7,0,0,'def hanoi(nb_disks,start, middle, end):');
INSERT INTO Enigme VALUES(14,'TrianglePascal','Écrire une fonction <b style="color: violet;">triangle_pascal</b> permettant dafficher le <b>triangle de Pascal</b> jusqu''à un certain nombre <b style="color:#44fff6">n</b> de lignes. Bien sùr <b style="color:#44fff6">n</b> sera passé en argument à la fonction. La fonction devra renvoyer une <b style="color: yellow;">liste</b> contenant les lignes du triangle de Pascal. (cf l''exemple pour plus de détails).','Il n''y a pas d''aide pour cette énigme','Le triangle arithmétique de Pascal est le triangle dont la ligne d''indice n (n = 0, 1, 2...) donne les coefficients binomiaux (n) pour p = 0, 1, 2..., n.<br/> La construction de ce triangle de Pascal est simple, on part de 1 à la première ligne, par convention c''est la ligne zéro (n = 0) Pour avoir un terme de la ligne suivante, on prend le terme juste au-dessus, et on lui additionne celui qui est juste avant, (0 si il n''y a rien). Mathématiquement, on applique la formule :<br/> (n+1) = (n) + ( n )','<b>Entrée</b> : 4<br><b>Sortie</b> : [[1],[1,1],[1,2,1],[1,3,3,1]]',replace(replace('def estTriangleDePascal(n):\r\n if(n==0):\r\n return []\r\n if(n==1):\r\n return [[1]]\r\n triangle=[[1],[1, 1]]\r\n columns=n\r\n for line in range(2,n):\r\n triangle.append([1])\r\n for column in range(1, line):\r\n triangle[line].append(triangle[line - 1][column - 1] + triangle[line - 1][column])\r\n triangle[line].append(1)\r\n return triangle','\r',char(13)),'\n',char(10)),replace(replace('import random as r\r\ndef testTriangleDePascal(n):\r\n triangle_pascal(0)\r\n listTest=[0,1]\r\n for i in range(0,n):\r\n listTest.append(r.randint(5,140))\r\n for i in listTest:\r\n if(triangle_pascal(i)!=estTriangleDePascal(i)):\r\n return False\r\n return True\r\n \r\nprint(testTriangleDePascal(5))','\r',char(13)),'\n',char(10)),8,0,0,'def triangle_pascal(n):');
INSERT INTO Enigme VALUES(19,'Palindrome','Écrire une fonction <b style="color: violet;">estPalindrome(var)</b> qui prend en argument un <b style="color:#44fff6">entier</b> et qui renvoie <b style="color: green;">True</b> si cest un palindrome et <b style="color: red;">False</b> sinon.','En python linstruction [::-1] permet dinverse une chaine de caractère. <br /><br />print("ae"[::-1]) -> ea.','Il n''y a pas de rappel pour cette enigme.','<b style="color: violet;">estPalindrome(12321)</b> renvoie <b style="color: green;"></bstyle>True</b>',replace('def estPalindromeVerif(var):\n if(var == var[::-1]):\n return True\n else:\n return False','\n',char(10)),replace('import random as r\ndef testPalindrome(x):\n l=[1,2,3,2,1]\n if(estPalindrome(l)==False):\n return False\n l=[9,5,7,7,9]\n if(estPalindrome(l)==True):\n return False\n l=[]\n for i in range(x):\n for j in range(r.randint(1,10)):\n l.append(r.randint(0,9))\n if(estPalindromeVerif(l)!=estPalindrome(l)):\n return False\n l=[]\n return True\n\nprint(testPalindrome(5))','\n',char(10)),0,600,100,'def estPalindrome(var):');
-- INSERT INTO Enigme VALUES(20,'CesarDecrypt','Écrire une fonction <b style="color : violet">Decrypt</b> qui prend en argument un <b style="color: #44fff6;">message</b> et une <b style="color: #44fff6;">clé</b> et qui retourne le message décrypté avec le code <b>César</b>.(les espace ne seront pas encodé.)','La fonction ord(char) de python permet de retourner l''Unicode (standard dencodage de caractères) d''un caractère.<br/> Par exemple, ord(''a'') retourne ''97'' et ord(''b'')) retourne ''98''.','Le code <b>César</b> (ou chiffre de César ) est un chiffrement par substitution, <br>où chaque lettre est remplacée par une autre lettre se situant un peu plus loin dans l''alphabet .<br>Par exemple A avec une clé 2 devient C.','<b>Entrée</b> :&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;<b>Sortie</b> : <br>''fbehu'',3&emsp;&emsp;&emsp;&emsp;&emsp;&nbsp;cyber',replace('def DecryptVerif(text, key):\n result = ""\n for i in range(len(text)):\n char = text[i]\n if(char==" "):\n result+=" "\n elif (char.isupper()):\n result += chr((ord(char) - key-65) % 26 + 65)\n else:\n result += chr((ord(char) - key - 97) % 26 + 97)\n return result','\n',char(10)),replace('import random as r\ndef testDecrypte(x):\n Decrypt("",1)\n if(Decrypt("Jgnnq yqtnf",2)!="Hello world"):\n return False\n if(Decrypt("Blarycnm",9)!="Scripted"):\n return False\n for i in range(x):\n l=""\n cle=r.randint(1,26)\n for i in range(r.randint(1,10)):\n l+=chr(r.randint(97,122))\n if(Decrypt(l,cle)!=DecryptVerif(l,cle)):\n return False\n return True\n \nprint(testDecrypte(5))','\n',char(10)),0,600,100,'def Decrypt(text, key):');
-- INSERT INTO Enigme VALUES(27,'Alternance','Coder la fonction <b style="color: violet;">tri</b>. Cette fonction prend en paramètre deux <b style="color: yellow;">chaine de caractère</b>, prend tour à tour les caractères des deux chaines et retourne la <b style="color: yellow;">chaine de caractère</b> trié. (cf l''exemple)','Il n''y a pas d''aide pour cette énigme','Il n''y a pas de rappel pour cette énigme','<b>Entrée</b> : "Hlowrd", "el ol" <br><b>Sortie</b> : "Hello world" ',replace(replace('def triVerif(a,b):\r\n s = ""\r\n i = 0\r\n while len(s)<len(a+b):\r\n if(len(a)>i):\r\n s += a[i]\r\n if(len(b)>i):\r\n s += b[i]\r\n i += 1\r\n return s','\r',char(13)),'\n',char(10)),replace(replace('import random as r\r\ndef triTest(x):\r\n a = "Hlowrd"\r\n b = "el ol"\r\n if(triVerif(a,b)!=tri(a,b)):\r\n return False\r\n return True\r\n\r\nprint(triTest(5)) ','\r',char(13)),'\n',char(10)),5,0,0,'def trie(a,b):');