diff --git a/EnigmePython/chouette.py b/EnigmePython/chouette.py new file mode 100644 index 00000000..50ce6a46 --- /dev/null +++ b/EnigmePython/chouette.py @@ -0,0 +1,11 @@ +def cul_de_chouette(valeur): + res=list() + for i in range(1, 7): + for j in range(i, 7): + for k in range(j, 7): + if (i+j+k) == valeur: + res.append([i, j, k]) + return res + + +print(cul_de_chouette(7)) \ No newline at end of file diff --git a/EnigmePython/chucknorris.py b/EnigmePython/chucknorris.py new file mode 100644 index 00000000..3c437257 --- /dev/null +++ b/EnigmePython/chucknorris.py @@ -0,0 +1,102 @@ +import random as r + +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 + + +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="" + for i in range(x): + for j in range(r.randint(1,10)): + l=l+str(r.randint(0,1)) + print(l) + if(binaire2unitaireV2(l)!=binaire2unitaireVerif(l)): + return False + return True + +print(testChuckNorris(10)) \ No newline at end of file diff --git a/EnigmePython/codecesarencodage.py b/EnigmePython/codecesarencodage.py new file mode 100644 index 00000000..34736439 --- /dev/null +++ b/EnigmePython/codecesarencodage.py @@ -0,0 +1,30 @@ +def Encrypt(text, key): + result = "" + for i in range(len(text)): + char = text[i] + if(char==" "): + result+=" " + elif (char.isupper()): + result += chr((ord(char) + key-65) % 26 + 65) + else: + result += chr((ord(char) + key - 97) % 26 + 97) + return result + + + +def Decrypt(text, key): + result = "" + for i in range(len(text)): + char = text[i] + if(char==" "): + result+=" " + elif (char.isupper()): + result += chr((ord(char) - key-65) % 26 + 65) + else: + result += chr((ord(char) - key - 97) % 26 + 97) + return result + + + +print(Encrypt("Hello world", 29)) +print(Decrypt("Khoor zruog", 29)) diff --git a/EnigmePython/hanoi.py b/EnigmePython/hanoi.py new file mode 100644 index 00000000..b98a3dea --- /dev/null +++ b/EnigmePython/hanoi.py @@ -0,0 +1,15 @@ +def hanoi(nb_disks,start, middle, end): + l=[] + hanoi_rec(l,nb_disks,start, middle, end) + return l + +def hanoi_rec(l,nb_disks, start, middle, end): + if nb_disks == 1: + return l.append([start,end]) + else: + hanoi_rec(l,nb_disks - 1, start, end, middle) + l.append([start,end]) + hanoi_rec(l,nb_disks - 1, middle, start, end) + +print(hanoi(4,"A","B","C")) + diff --git a/EnigmePython/palindrome.py b/EnigmePython/palindrome.py new file mode 100644 index 00000000..8ee02f6e --- /dev/null +++ b/EnigmePython/palindrome.py @@ -0,0 +1,31 @@ +import random as r + +def estPalindrome(var): + if(var == var[::-1]): + return True + else: + return False + +def estPalindromeVerif(var): + if(var == var[::-1]): + return True + else: + return False + + +def testPalindrome(x): + l=[1,2,3,2,1] + if(estPalindrome(l)==False): + return False + l=[9,5,7,7,9] + if(estPalindrome(l)==True): + return False + for i in range(x): + for j in range(r.randint(1,10)): + l.append(r.randint(0,9)) + if(estPalindromeVerif(l)!=estPalindrome(l)): + return False + l=[] + return True + + diff --git a/EnigmePython/test.py b/EnigmePython/test.py new file mode 100644 index 00000000..007262fe --- /dev/null +++ b/EnigmePython/test.py @@ -0,0 +1,23 @@ +def cesar(msg, key): + resultStr = "" + key=key%26 + for char in msg: + resultStr = resultStr + chr(ord(char) + key) + return resultStr + +def decrypteCesar(msg, key): + resultStr = "" + key=key%26 + for char in msg: + resultStr = resultStr + chr(ord(char) - key) + return resultStr + + +def culdechouette(val): + tab=[] + for i in range(1,7): + for j in range(i,7): + for k in range(j,7): + if(i+j+k==val): + tab.append([i,j,k]) + return tab diff --git a/EnigmePython/trianglepascal.py b/EnigmePython/trianglepascal.py new file mode 100644 index 00000000..5ff164e0 --- /dev/null +++ b/EnigmePython/trianglepascal.py @@ -0,0 +1,15 @@ + + +def triangle(n): + triangle=[[1],[1, 1]] + columns=n + for line in range(2,n): + triangle.append([1]) + for column in range(1, line): + triangle[line].append(triangle[line - 1][column - 1] + triangle[line - 1][column]) + triangle[line].append(1) + return triangle + +print(triangle(2)) +print(triangle(4)) +print(triangle(8))