From 7f1cbe08e3e35c0fcbe89c3eca660749b44e164c Mon Sep 17 00:00:00 2001 From: Marc Partensky Date: Sat, 11 May 2019 16:17:22 +0200 Subject: [PATCH] added few pieces of code --- Email/Captcha trainer.py | 2 +- Pyglet/youtube.py | 36 +++++ Td16 Nguyen.py | 133 ++++++++++++++++++ Teletype/Reed-Solomon.py | 102 ++++++++++++++ Teletype/__pycache__/polynome.cpython-36.pyc | Bin 0 -> 10545 bytes .../__pycache__/polynomial.cpython-36.pyc | Bin 0 -> 10547 bytes Teletype/{Polynome.py => polynomial.py} | 0 permutations.py | 41 ++++++ square learning test.py | 1 + 9 files changed, 314 insertions(+), 1 deletion(-) create mode 100644 Pyglet/youtube.py create mode 100644 Td16 Nguyen.py create mode 100644 Teletype/Reed-Solomon.py create mode 100644 Teletype/__pycache__/polynome.cpython-36.pyc create mode 100644 Teletype/__pycache__/polynomial.cpython-36.pyc rename Teletype/{Polynome.py => polynomial.py} (100%) create mode 100644 permutations.py create mode 100644 square learning test.py diff --git a/Email/Captcha trainer.py b/Email/Captcha trainer.py index 5c9bc1f..ab2eafc 100644 --- a/Email/Captcha trainer.py +++ b/Email/Captcha trainer.py @@ -24,7 +24,7 @@ def searchCaptcha(filename): X=x-234 Y=y+34 return [X,Y] - return None + raise Exception("No captcha was found in this picture.") def resolveCaptcha(url): diff --git a/Pyglet/youtube.py b/Pyglet/youtube.py new file mode 100644 index 0000000..912e250 --- /dev/null +++ b/Pyglet/youtube.py @@ -0,0 +1,36 @@ +from __future__ import unicode_literals +import sys +#import youtube_dl + + +print(sys.version) + + +class MyLogger(object): + def debug(self, msg): + pass + + def warning(self, msg): + pass + + def error(self, msg): + print(msg) + + +def my_hook(d): + if d['status'] == 'finished': + print('Done downloading, now converting ...') + + +ydl_opts = { + 'format': 'bestaudio/best', + 'postprocessors': [{ + 'key': 'FFmpegExtractAudio', + 'preferredcodec': 'mp3', + 'preferredquality': '192', + }], + 'logger': MyLogger(), + 'progress_hooks': [my_hook], +} +with youtube_dl.YoutubeDL(ydl_opts) as ydl: + ydl.download(["https://youtu.be/i8q8fFs3kTM?list=PLlqZM4covn1GeiFmvbi8YppviPVUH2Q_9"]) diff --git a/Td16 Nguyen.py b/Td16 Nguyen.py new file mode 100644 index 0000000..009b9b9 --- /dev/null +++ b/Td16 Nguyen.py @@ -0,0 +1,133 @@ +#Hugues de Rubin de Cervens +#Marc Partensky +#Louise De Servigny + +from scipy.optimize import bisect,newton + +import math + +f=lambda x:x**2-2 +#1)a) On définit f : x-->x^2-2. f s'annule en sqrt(2) et -sqrt(2). Or leurs valeurs décimales ne sont pas fini. +"""b)DONNEES (a,b,e) + x<-(a+b)/2 + TANT QUE abs(x^2-2)>e FAIRE: + SI f(a)*f(b)>0: FAIRE: + a<-x + SINON FAIRE: + b<-x + x<-(a+b)/2 + FIN TANT QUE + AFFICHER x +""" + +#c) +def ZeroD(f,a,b,e): + x=(a+b)/2 + while abs(f(x))>e: + if f(a)*f(x)>0: + a=x + else: + b=x + x=(a+b)/2 + return x + +#d) +print("ZeroD:",ZeroD(f,1,2,e=10**(-12))) +print(math.sqrt(2)) + +#2)a)) +print(bisect(f,1,2)) +#b) +print("ZeroD:",ZeroD(f,1,2,e=10**(-12))) + +#II) a) + + +#b)Données(f,a,b,n) +""" + t : x-->(-f(a)*(b-a))/(f(b)-f(a))+a + c=t(a,b) + Pour i parcourant n + c=t(a,b) + Si f(a)f(c)>0 + a=c + Sinon + b=c + Afficher c +""" + +#c) +def ZeroL(f,a,b,n): + t=lambda a,b:-f(a)*(b-a)/(f(b)-f(a))+a + c=t(a,b) + for i in range(n): + c=t(a,b) + if f(a)*f(c)>0: + a=c + else: + b=c + return c +#d) +print("ZeroL:",ZeroL(f,1,2,10)) +print(math.sqrt(2)) + +#e) +def ZeroDC(f,a,b,e): + x=(a+b)/2 + t=0 + while abs(f(x))>e: + t+=1 + if f(a)*f(x)>0: + a=x + else: + b=x + x=(a+b)/2 + return (x,t) + +#f) +print("ZeroDC:",ZeroDC(f,1,2,10**(-12))) + +#4) +print(newton(f,1,maxiter=20)) + + +#III) +#a) Figure... + +#b) Algorithme +"""Données(f,a,b,n) + fp : a-->(f(a+h)-f(a))/h + e=10^-10 + c=b + Pour i parcourant n + c=c-f(c)/fp(c,e) + Si f(a)f(c)>0 + a=c + SINON + b=c + Afficher c +""" + +#c) +def ZeroN(f,a,b,n): + fp=lambda a,h:(f(a+h)-f(a))/h + e=10**(-10) + c=b + for i in range(n): + c=c-f(c)/fp(c,e) + if f(a)*f(c)>0: + a=c + else: + b=c + return c + +#d) +print("ZeroN:",ZeroN(f,1,2,20)) +print(math.sqrt(2)) + +#6) +#a) +print(newton(f,1,maxiter=20)) + +#b) +print("ZeroN:",ZeroN(f,1,2,20)) diff --git a/Teletype/Reed-Solomon.py b/Teletype/Reed-Solomon.py new file mode 100644 index 0000000..9a06972 --- /dev/null +++ b/Teletype/Reed-Solomon.py @@ -0,0 +1,102 @@ +from polynomial import Polynomial + + +def getInteger(message): + number=0 + for i,character in enumerate(message): + c=int(character) + number+=c*2**i + return number + +class TByte(int): + def __init__(self,other): + """Create somekind of a byte value using integers at its core.""" + super().__init__() + self.correct() + + def correct(self): + """Correct the byte.""" + self%=369 + + def __add__(self,other): + """Add two bytes.""" + result=other+self + result.correct() + return result + + __sub__=__add__ + + def __str__(self): + """Return the string representation of the byte.""" + conversion=lambda n:[(n//(2**i))%2 for i in range(7,-1,-1)] + return str(conversion(self)) + + + def __call__(self): + pass + + + + + + + +class ReedSolomon: + def N(message): + """Return the number 'n' of characters of the message.""" + return len(message) + + def StrToAscii(message): + """Return the ascii code for each letter of the message.""" + ascii_code=[] + for character in message: + ascii_character=ord(character) + ascii_code.append(ascii_character) + return ascii_code + + def AsciiToList(ascii_code): + """Return the list code for the ascii characters by converting in binary + each ascii character and concatenating the results.""" + conversion=lambda n:[(n//(2**i))%2 for i in range(7,-1,-1)] + list_code=[] + for ascii_character in ascii_code: + list_character=conversion(ascii_character) + list_code+=list_character + return list_code + + def __init__(self,alpha=1,k=256): + """Create a Reed Solomon encoder and decoder""" + sefl.alpha=alpha + self.k=k + + def StrToByte(self,message,k): + """Convert a str message in byte.""" + if k==256: + return ReedSolomon.StrToAscii(message) + + def StrToList(self,message,k=256): + """Convert the message in list code.""" + byte_code=self.StrToByte(message,k) + list_code=self.ByteToList(ascii_code) + return list_code + + def encode(self,message): + """Encode the message.""" + self.n=ReedSolomon.N(message) + list_code=self.StrToList(message,k) + A=Polynomial(list_code) + + +if __name__=="__main__": + message="salut comment ca va" + #coder=ReedSolomon() + #code=coder.encode(message) + #message=coder.decode(code) + message="100011101" + n=getInteger(message) + print(n) + b=TByte(256) + print(b) + print(512%369) + conversion=lambda n:[(n//(2**i))%2 for i in range(7,-1,-1)] + print(conversion(143)) diff --git a/Teletype/__pycache__/polynome.cpython-36.pyc b/Teletype/__pycache__/polynome.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..74df26a8ca10b97f75ae37fb3f8fec6e133af01d GIT binary patch literal 10545 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 GIT!(-t>qU0 literal 0 HcmV?d00001 diff --git a/Teletype/__pycache__/polynomial.cpython-36.pyc b/Teletype/__pycache__/polynomial.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6748bbfc242e8af6382042bbc1841852fd5a6c4c GIT binary patch literal 10547 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 G!3Y2#KIKmU literal 0 HcmV?d00001 diff --git a/Teletype/Polynome.py b/Teletype/polynomial.py similarity index 100% rename from Teletype/Polynome.py rename to Teletype/polynomial.py diff --git a/permutations.py b/permutations.py new file mode 100644 index 0000000..f3e3346 --- /dev/null +++ b/permutations.py @@ -0,0 +1,41 @@ + + +#a=["a","b","c","d","e"] +#a=list(range(3)) +a=[a for a in "abcdefgh"] +#print(len(a)) + +def permutations(l): + if len(l)==2: + return [(l[0],l[1]),(l[1],l[0])] + else: + result=[] + for i in range(len(l)): + b=l[:] + del b[i] + result+=[tuple(l[i])+a for a in permutations(b)] + return result + +def prod(l): + """Return the product of the list l.""" + r=1 + for a in l: + r*=a + return r + +def facto(n): + """Return the factorial of the number n.""" + return prod(range(1,n+1)) + +print(facto(10)) + + +def getPermutation(l,n): + """Return the permutation number n.""" + for n i + + + + + +#print(["".join(b) for b in permutations(a)]) diff --git a/square learning test.py b/square learning test.py new file mode 100644 index 0000000..d6b83fc --- /dev/null +++ b/square learning test.py @@ -0,0 +1 @@ +print([(x,x**2) for x in range(32)])