|
|
|
|
Voila j'ai crée une fonction qui a pour but de suprimer les lettres dans une chaine .
mon but est de transformer cette chaine
['9s', '9d', '10h', '9c', '8h', '13s', '3d']
en
['9', '9', '10', '9', '8', '13', '3']
voila mon programme
def w(liste):
if liste.count('h')>0:
print liste.replace("h","",10)
if liste.count('s')>0:
print liste.replace("s","",10)
if liste.count('d')>0:
print liste.replace("d","",10)
if liste.count('c')>0:
print liste.replace("c","",10)
def z(liste):
wow=[]
i=0
while i<6:
wow=wow+[w(liste)]
i=i+1
return wow
Configuration: Mac OS X Safari 525.13
Ce ne sont pas des print qu'il te faut, ta fonction doit retourner la chaine et non pas l'afficher:
def w(liste):
if liste.count('h')>0:
liste= liste.replace("h","",10)
if liste.count('s')>0:
liste= liste.replace("s","",10)
if liste.count('d')>0:
liste= liste.replace("d","",10)
if liste.count('c')>0:
liste= liste.replace("c","",10)
return liste |
Une solution plus pythonique
|
Si c'est pour garder uniquement les chiffres, peut aussi utiliser isdigit() qui indique si un caractère est un chiffre ou non:
#!/usr/bin/python
def keepDigits(chaine):
return ''.join([c for c in chaine if c.isdigit()])
avar = ['9s', '9d', '10h', '9c', '8h', '13s', '3d']
result = map(keepDigits , avar)
print result |