Aide python

Fermé
lili99 - 10 nov. 2009 à 21:55
 lili99 - 11 nov. 2009 à 11:40
Bonjour,
si quelqu'un pouvait m'aider... SVP
Voilà, je ne suis pas très douée avec Python et pourtant... Je dois définir une fonction qui calcule la longueur d'un mot (dans une liste) et ensuite, utiliser cette fonction pour imprimer les mots de plus de 5 lettres... Comment faire????
Dans une liste comme celle ci par exemple: l = ['Une', 'vieille', 'chouette', 'et', 'son', 'hibou']
Dois-je calculer les mots 1 par 1? x = len(l[0]), y = len(l[1])...
Mais après pour ce qui est des mots de plus de 5 lettres seulement??
MERCI BEAUCOUP

5 réponses

loupius Messages postés 697 Date d'inscription dimanche 1 novembre 2009 Statut Membre Dernière intervention 31 décembre 2017 148
10 nov. 2009 à 22:39
Dois-je calculer les mots 1 par 1? x = len(l[0]), y = len(l[1])...
Oui, en Python, je ne vois pas d'autres solutions que d'évaluer tous les mots. Par contre, il est bien évident que l'on va faire une boucle pour réaliser cette évaluation.
Bonne continuation.
0
Merci pour cette réponse! a Biento
0
Je ne pensais pas si bien dire en disant "à bientôt" mais là je suis perdue...
J'ai essayé de faire une boucle pour calculer la longueur de chaque mot ( et inscrire ces chiffres comme résultat) mais je n'y arrive pas du tout.
Voilà ce que je pensais faire:
t = ['Une', 'vieille', 'chouette', 'et', 'son', 'hibou']
tl = t.split()
print tl
for el in tl:
l = len(el)
print el,"\t"
Mais j'ai toujours droit à une erreur!
Merci de votre aide
0
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
11 nov. 2009 à 11:16
une seule boucle suffit
for el in t :
ensuite tu regarde la longueur de chaque mot avec un len(el) et si c'est superieur a 5 tu l'affiches
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci je vais essayer!
0