Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compter le nombre d’occurrence d'un caractère dans

une chaîne de caractère.

28 juillet 2015 à 3:25:53

Bonjour,

Donc je suis le cours du livre "Apprendre à programmer avec Python 3" et dans un des exercice (5.7) dont voici l'énoncé :

"Écrivez un script qui compte le nombre d'occurrences du caractère « e » dans une chaîne.".

Donc j'ai tenté de le résoudre, mais le problème que j'ai c'est que je ne vois pas comment faire un test pour voir si le caractère est e et à chaque fois que c'est le cas ajouter 1 à une variable qui compte le nombre de 'e'. 

Voilà ce que j'ai pour le moment.

Merci beaucoup

msg = "Test sur les e"
a=0 # débute à 0 pour la première lettre et ira jusqu'a len(msg)
b=0 #nombre d'occurence de 'e'
while a<len(msg):
if 'e' in msg :
b=b+1
print ("il y a ", b, "e dans le message")
a=a+1
else:
a=a+1
print ("il n'y a pas de e dans le
  • Partager sur Facebook
  • Partager sur Twitter
28 juillet 2015 à 4:52:07

Tiens regarde un code beaucoup plus simple :

msg = "Test sur les e"
counter = 0

for letter in msg:
    if letter == "e":
        counter = counter + 1

print(counter)


Regarde la boucle for ici

Et pour corriger ton code:

msg = "Test sur les e"
a = 0
b = 0

while a < len(msg):
    if msg[a] == 'e':
        b = b + 1
    a = a + 1

print(b)



Tu accèdes à la lettre que tu veux analyser grâce à la variable a, en prenant le string comme un tableau.

Et tes conditions étaient mal faites.

-
Edité par Ronron1705 28 juillet 2015 à 5:02:38

  • Partager sur Facebook
  • Partager sur Twitter

Programme moi un mouton !

28 juillet 2015 à 5:19:03

OK merci pour les explications, et ton code est effectivement bien mieux !
  • Partager sur Facebook
  • Partager sur Twitter
22 septembre 2021 à 2:41:34

@BillalHAMMADOU Bonjour, merci de ne pas déterrer d'ancien sujet.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter