Le#programme#affiche#5#car#le#x#de#la#fonction#n'est#pas#le#x#du#main#
3)
-(obligatoire)-Portée-des-variables-de-type-list-
Soit#le#code#python#suivant#:##
# -*- coding: utf-8 *-*
def abs_liste(L):
for i in range(len(L)):
L[i]=abs(L[i])
return L
def main() :
maL=[-1,2,-9.5]
L2=abs_liste(L)
print L2
print maL
Qu’affiche-t-il#?#Pourquoi#la#liste#L#est-elle#aussi#modifiée#?#Comment#faire#pour#qu’elle#ne#le#soit#
pas#?#Corrigez#le#code#pour#que#ce#soit#le#cas.#
La#liste#L#et#la#liste#L2#représente#la#même#liste.#
La#liste#L#est#modifiée#dans#la#fonction.#
Pour#qu'elle#ne#soit#pas#modifiée,#il#faut#en#créer#une#nouvelle#liste#et#retourner#celle-ci#
#abs_liste(L): Retourne une liste des valeurs absolues de L
#[Nombre]->[Nombre>=0]
def abs_liste(L):
Lnew=[]
for i in range(len(L)):
Lnew.append(abs(L[i]))
return Lnew
4)
(entrainement)-Portée-des-variables-de-type-list
-
a. Ecrire#le#code#python#d'un#programme#qui#demande#à#l'utilisateur#un#nombre#entier#n#
et#qui#affiche#la#liste#des#valeurs#de#21#à#2n.#Ces#valeurs#seront#stockées#dans#une#liste,#qui#sera#
remplie# par# une# fonction# liste_puissance(n).# La# liste# sera# initialisée# dans# la# fonction.#
Exemple#d’execution#du#script#dans#le#terminal:#
[bash]python#TP2.py#
Donnez#une#valeur#entière#:#5##
Les#puissances#de#2#sont#:#[2,#4,#8,#16,#32]#
#listePuissanceDe2(n): Retourne la liste de puisse de 2 de 1 à n
#int>0->[int>0]
def listePuissanceDe2(n):
l=[]
k=1
for i in range(1,n+1):
l.append(k)
k*=2
return l
b. Si# l’initialisation# de# la# liste# est# déplacée# dans# le# programme# principal# (main),# faut-il#
passer#la#liste#en#argument#de#la#fonction#?#Peut-on#supprimer#le#return#dans#la#fonction#?#
Il#faut#passer#la#liste#en#argument#et#on#peut#supprimer#le#return.#On#peut#alors#passer#plusieurs#fois#la#même#liste#à#la#
fonction#et#cumuler#des#résultats#dans#celle-ci.#
5)
-(entrainement)-Fonction-retournant-une--chaine-de-caractères-
Ecrire#une#fonction#substituer(s, c1, c2)#qui#remplace#dans#la#chaine#de#caractères#s#toutes#
les# occurrences# du# caractère# s1# par# le# caractère# s2# (sans# utiliser# de# fonction# python).# Par#