Nombre de caractères sans les espaces dans un fichier
Résoluarscy Messages postés 196 Statut Membre -
- 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!!