Python cractères!
Résolu/Fermé
koodzy
Messages postés
2
Date d'inscription
samedi 3 octobre 2020
Statut
Membre
Dernière intervention
3 octobre 2020
-
Modifié le 22 juil. 2021 à 16:43
mamiemando Messages postés 33642 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 avril 2025 - 22 juil. 2021 à 16:51
mamiemando Messages postés 33642 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 25 avril 2025 - 22 juil. 2021 à 16:51
A voir également:
- Python cractères!
- Citizen code python avis - Accueil - Outils
- Python generator - Télécharger - Sécurité
- Mot secret python pix ✓ - Forum Python
- Python pix ✓ - Forum Python
4 réponses
koodzy
Messages postés
2
Date d'inscription
samedi 3 octobre 2020
Statut
Membre
Dernière intervention
3 octobre 2020
3 oct. 2020 à 12:15
3 oct. 2020 à 12:15
et il faut un dictionnaire...
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 3 oct. 2020 à 16:39
Modifié le 3 oct. 2020 à 16:39
Bonjour,
C'est bien le nombre de 'lettre' dans 'contenu' que tu veux
donc pourquoi écris tu texte.count() ?
texte n'est que l'identifiant du fichier jules.txt en ouverture ...
C'est bien le nombre de 'lettre' dans 'contenu' que tu veux
donc pourquoi écris tu texte.count() ?
texte n'est que l'identifiant du fichier jules.txt en ouverture ...
mamiemando
Messages postés
33642
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
25 avril 2025
7 844
Modifié le 22 juil. 2021 à 16:52
Modifié le 22 juil. 2021 à 16:52
Bonjour,
Beaucoup de choses ne vont pas dans ton programme.
Bref, voici à quoi ça devrait plutôt ressembler :
Bonne chance
Beaucoup de choses ne vont pas dans ton programme.
- Si le fichier n'est pas ouvert avec succès, le programme plantera. Si tu rattrapes cette exception, tu verras que
dico
n'est pas déclaré au bon niveau. - Le mot clé
with
est conçu pour fermer le file descriptor (que tu as appelétexte
, mais qui n'est pas du texte) à la sortie du bloc. Il ne faut pas le fermer explicitement, sinon il sera fermé deux fois. - La méthode
count
sert à compter combien d'occurrence d'une sous-chaîne apparaissent dans une sous-chaîne. Par exemple,"abcabc".count("abc")
vaut 2. Elle ne répond donc pas à ton problème. - Si tu utilises
count
pour chaque lettre de l'alphabet, le programme sera très inefficace, puisque la chaîne qui contient l'intégralité du fichier sera relue pour chacun des caractères.
Bref, voici à quoi ça devrait plutôt ressembler :
#!/usr/bin/env python3 import sys from collections import defaultdict from pprint import pprint filename = "/etc/motd" d = defaultdict(int) try: with open(filename) as f: s = f.read() for a in s: d[a] += 1 except: print(f"Can't read {filename}", file=sys.stderr) pprint(d)
Bonne chance