Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from random import *
- def appartenance_it(l,n):
- for i in range (len(l)):
- if l[i]==n:
- return True
- return False
- def appartenance_rec(l,n):
- m=l[:]
- if len(m)==1 and m[0] != n:
- return False
- if m[0]!=n:
- del m[0]
- return appartenance_rec(m,n)
- if m[0]== n :
- return True
- def rech_dichotomie_rec(l,n):
- m=len(l)//2
- p=l[:]
- if len(p)==1 and p[0]!= n:
- return False
- elif p[m]==n:
- return True
- elif p[m]>n:
- return rech_dichotomie_rec(p[0:m],n)
- elif p[m]<n:
- return rech_dichotomie_rec(p[m:len(p)],n)
- def rech_dichotomie_iter(l,n):
- p=l[:]
- while len(p)>=1:
- m=len(p)//2
- if p[m]==n:
- return True
- if len(p)==1 and p[0]!=n:
- return False
- elif p[m]>n:
- p=p[0:m]
- elif p[m]<n:
- p=p[m:len(p)]
- def retirer_doublon_iter(l):
- test=True
- for i in range(len(l)):
- t=l[i]
- p=l[:]
- del p[i]
- while test==True:
- if appartenance_it(p,t)==True:
- l=0
- return False
- ###########################################################################################
- l=[0]*30
- for i in range(30):
- l[i]=randrange(50)
- a=randrange(30)
- print(appartenance_rec(l,l[a]))
- print(appartenance_it(l,l[a]))
- p=l[:]
- p.sort()
- print(rech_dichotomie_rec(p,p[a]))
- print(rech_dichotomie_iter(p,p[a]))
- #Test censé être positif
- print(appartenance_rec(l,51))
- print(appartenance_it(l,51))
- print(rech_dichotomie_rec(p,51))
- print(rech_dichotomie_iter(p,51))
- #False
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement