Besoin d'aide en PYTHON
Nlncf
2022-06-03 22:37:35
def recherche(caractere, mot):
compteur = 0
for i in range(len(mot)):
if i == caractere :
compteur = compteur + 1
return compteur
print(recherche('e', "sciences"))
Je souhaite créer un programme qui permet de rechercher combien il y a une lettre dans un mot, par exemple la lettre "e" dans le mot "sciences" sauf que dans ma console, ça affiche 0 et je vois pas d'erreur dans mon code pourtant
eotyrs
2022-06-03 22:38:29
Essaye for i in mot
Nlncf
2022-06-03 22:39:13
Le 03 juin 2022 à 22:38:29 :
Essaye for i in mot
Oh bordel, c'était ça cimer
OuestBrick
2022-06-03 22:40:02
def recherche(caractere, mot):
compteur = 0
for i in range(len(mot)):
if mot[i] == caractere :
compteur += 1
return compteur
De rien
eotyrs
2022-06-03 22:40:07
De rien khey
Ave-Atomus
2022-06-03 22:40:50
L'erreur c'est qu'en faisant for i in range(len(mot)) i prend la valeur 0 puis 1, puis 2 ... jusqu'à len(mot)-1
Et donc i ne prend pas la valeur de chaque caractère.
Soit tu fais comme mon VDD a dit "for i in mot"
Soit tu remplaces if i == caractere par
if mot[i] == caractere
Nlncf
2022-06-03 22:41:46
Le 03 juin 2022 à 22:40:50 :
L'erreur c'est qu'en faisant for i in range(len(mot)) i prend la valeur 0 puis 1, puis 2 ... jusqu'à len(mot)-1
Et donc i ne prend pas la valeur de chaque caractère.
Soit tu fais comme mon VDD a dit "for i in mot"
Soit tu remplaces if i == caractere par
if mot[i] == caractere
ok
OuestBrick
2022-06-03 22:42:15
Le 03 juin 2022 à 22:40:02 :
def recherche(caractere, mot):
compteur = 0
for i in range(len(mot)):
if mot[i] == caractere :
compteur += 1
return compteur
De rien
Évite de mettre aussi len(mot) dans le range, c'est horrible niveau optimisation
Nlncf
2022-06-03 22:42:17
est-ce que des quilles peuvent rester svp ? je suis entrain de faire d'autres codes donc si vous pourriez me dire si j'ai correct ou pas
Nlncf
2022-06-03 22:42:38
Le 03 juin 2022 à 22:42:15 :
Le 03 juin 2022 à 22:40:02 :
def recherche(caractere, mot):
compteur = 0
for i in range(len(mot)):
if mot[i] == caractere :
compteur += 1
return compteur
De rien
Évite de mettre aussi len(mot) dans le range, c'est horrible niveau optimisation
ok
OuestBrick
2022-06-03 22:42:58
Le 03 juin 2022 à 22:42:17 :
est-ce que des quilles peuvent rester svp ? je suis entrain de faire d'autres codes donc si vous pourriez me dire si j'ai correct ou pas
Vas-y
Junto4242
2022-06-03 22:45:12
from collections import Counter
def recherche(caractere, mot):
return Counter(mot)[caractere]
qid
2022-06-03 22:45:52
une fonction existe déjà mais sinon
def recherche(caractere, mot):
return len([c for c in mot if c == caractere])
CoroneurentMFP
2022-06-03 22:45:53
[22:45:12] <junto4242>
<code>from collections import Counter
def recherche(caractere, mot):
return Counter(mot)[caractere]</code>
Ceci
Charlies_lost
2022-06-03 22:47:57
def count(word, letter):
return sum(l == letter for l in word)
Nlncf
2022-06-03 22:48:13
Bon mtn je dois créer une fonction qui calcule la moyenne avec des notes qui ont des coefs
bon je pense que c'est pas ça mais :
def moyenne(liste):
coef = len(liste)
m = []
m = sum(liste[0] * liste[1])
m = m/coef
return m
(ne me donnez pas la réponse mais juste de l'aide svp )
Charlies_lost
2022-06-03 22:49:00
Le 03 juin 2022 à 22:45:52 :
une fonction existe déjà mais sinon
def recherche(caractere, mot):
return len([c for c in mot if c == caractere])
Tu crées un tableau intermédiaire qui est inutile.
Nlncf
2022-06-03 22:49:54
j'ai mis = sum(liste[0] * liste[1])
pour que le programme comprend de faire la somme de l'indice 0 multiplié l'indice 1 genre (10x4) + (20x2) + (8x2)
je sais pas si c'est ça
freetheatome22
2022-06-03 22:49:58
Hésite pas à utiliser des print de partout pendant tes débug
La typiquement si tu avait fait un print(i) dans ta boucle tu aurait vu que ça donnait les nombre et pas les lettres du mot
qid
2022-06-03 22:50:02
Le 03 juin 2022 à 22:49:00 Charlies_lost a écrit :
Le 03 juin 2022 à 22:45:52 :
une fonction existe déjà mais sinon
def recherche(caractere, mot):
return len([c for c in mot if c == caractere])
Tu crées un tableau intermédiaire qui est inutile.
len() ne peut pas renvoyer le nombre d'éléments d'un generator