### CM-2 : list, tuple, range, if, for while ## Listes L=[ 'a' , 5 , 'b' , [1,5,19] ] print(f"L={L}") print(f"L[2]={L[2]}") print(f"L[-2]={L[-2]}") print(f"L[:2]={L[:2]}") print(f"L[:-2]={L[:-2]}") print(f"L[2:]={L[2:]}") print(f"L[-2:]={L[-2:]}") print(f"L[::-1]={L[::-1]}") print('\n'+'_'*30+'\n') # sous-liste print(f"L[-1]={L[-1]}") print(f"L[-1][1]={L[-1][1]}") print('\n'+'_'*30+'\n') # copie de liste a=5 b=a a=2 print("a=",a,"b=",b) a=[5,5,5] b=a a[1]=2 # en modifiant a on modifie b print("a=",a,"b=",b) a=[5,5,5] b=a b[1]=3 # en modifiant b on modifie a print("a=",a,"b=",b) import copy a=[5,5,5] b=copy.deepcopy(a) b[1]=3 print("a=",a,"b=",b) print('\n'+'_'*30+'\n') # fct & methodes L=[6,20,30,18,4,5] print(L) print(sum(L)) print(max(L)) print(min(L)) print('\n') print(L) C=sorted(L) print(C) print(L) print('\n') print(L) L.sort() print(L) print('\n'+'_'*30+'\n') ## Tuples : des listes non modifiables T=(1,4,'r') print(T[::-1]) print('\n'+'_'*30+'\n') ## Range r=range(10) r=range(5,10) r=range(5,10,2) r=range(5,9,2) r=range(10,-5,-2) # print(r) # c'est un iterateur, il n'affiche pas le contenu si on ne l'oblige pas avec une liste print(list(r)) # list seulement pour l'affichage print('\n'+'_'*30+'\n') ## set : on les utilisera juste pour enlever les doublons L=[1,3,2,3,3,4,5] print(L) print(set(L)) print(list(set(L))) print('\n'+'%'*50+'\n') ## If a=5 if a>6: print('Je suis ici') a=12 b=7 print(a,b) print('\n'+'_'*30+'\n') a=30 if a>6: print('Je suis ici') else: print('Je suis là') b=7 print(a,b) print('\n'+'_'*30+'\n') a=5 if a>6: print('Je suis ici') elif 36 : print('Oups') else: print('Je suis là') b=7 print(a,b) print('\n'+'%'*50+'\n') ### Boucles ## for for i in [5,7,9,'toto']: print(i) for i in range(10): print(i) for c in "Ciao": print(c) # for avec enumerate s="Ciao" for i in range(len(s)): print(i,s[i]) s="Ciao" for i,c in enumerate(s): print(i,c) # for avec append L=[] for n in range(10): L.append(n**2) print(L) # boucles imbriquées for n in range(10): for m in ['a','b']: print(n,m) for m in ['a','b']: for n in range(10): print(n,m) # boucles avec if, bien noter le role de l'indentation for n in range(6): if n==4: print('Coucou') print(n) for n in range(6): if n==4: print('Coucou') print(n) print('\n'+'%'*50+'\n') ## while i=0 while i<5: print(i) i=i+1 # i+=1 # cet utilisation de while n'est pas très utile # dans ce cas une boucle for est plus pratique for i in range(5): print(i) # recherche de seuil (boucle while pratiquement obbligatoire) i=0 somme=i while somme<=100: i+=1 somme+=i print(i,somme) # En effet, si on affiche tout: i=0 somme=i while somme<=100: i+=1 somme+=i print(i,somme) # pour vérifier l'execution pas à pas voir ici # http://pythontutor.com/visualize.html#mode=edit