Nombre de caractères sans les espaces dans un fichier
Résoluarscy Messages postés 173 Date d'inscription Statut Membre Dernière intervention -
- Nombre de caractères word
- Word 2013 - Télécharger - Traitement de texte
- Tableau word - Guide
- Ascii nombre de caractères - Guide
- Impossible de supprimer une page word - Guide
- Espace insécable word - Guide
4 réponses
Bonjour,
Ou alors, tu fais simplement comme ça:
nb_spaces = ligne.count(' ') nb_car += (len(ligne) - nb_spaces)
Bonjour
Il faudrait préciser ce que tu entends par espace, car en python a.isspace() retourne True si a est un espace, une tabulation, ou un retour à la ligne.
S'il faut ignorer tous les caractères entrant dans cette catégorie :
def count_non_space_chars(s: str) -> int: return sum( 1 for a in s if not a.isspace() )
Si on ne veut ignorer que les caractères ' ' :
def count_non_space_chars(s: str) -> int: return sum( 1 for a in s if a != ' ' )
Une fois ce choix fait, pour utiliser la fonction sur un fichier, disons /etc/motd :
filename = "/etc/motd" with open(filename, "r") as f: print(count_non_space_chars(f.read()))
Bonne chance
Bonjour,
Au lieu de poster une image, il vaut mieux afficher ton code ici
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Visuellement, ça doit ressembler à ça:
for k in range(10): print(k)
A part ça, il existe une méthode Python applicable aux string permettant de compter les occurrences
d'un caractère donné (ici l'espace, donc)
Et ensuite, on fait ça:
nb_car += (len(ligne) - nb_d_espaces_de_la_ligne)
with open("devoirnsi.txt","r") as fic: nb_mot=0 nb_car=0 nb_ligne=0 nb_space=0 nb_voy=0 nb_cons=0 contenu=[] for ligne in fic: nb_ligne+=1 contenu+=ligne.split() nb_car+=len(ligne) print("Le nombre de ligne dans ce texte est de :",nb_ligne) print("Le nombre de caractères dans ce texte est de :",nb_car-nb_space) print("Le nombre de mots dans dans ce texte est de :",len(contenu)) print ("Le nombre de voyelles dans dans ce texte est de :",nb_voy) print ("Le nombre de consonnes dans dans ce texte est de :",nb_cons)
Bonsoir,
Si tu ne vois pas comment t'y prendre pour ne pas prendre en compte les espaces, ça veut dire que tu ne sais pas ce que tu as codé :-(
- Comment fonctionne la fonction split ?
- À quoi ça te sert de réduire le contenu d'une ligne à un tableau?
Lorsque tu seras en mesure de répondre à ces deux points tu devrais pouvoir avancer significativement sur ton schmilblick (voire résoudre ta question, en fait).
Par contre si tu souhaitais compter le nombre d'espaces (cf ta variable 'nb_space') tu gagnerais à procéder différemment, par exemple en cherchant le caractère espace _ ' '_ dans chaque ligne ou bien dans une concaténation de tes différentes lignes.
Tiens-nous au courant de ta progression
merci beaucoup!!