fréquence avec Edupython
fréquence avec Edupython
from lycee import *
def compter_lettre(phrase,lettre):
x,n,espace=lettre,0,0
for caractere in phrase :
if caractere==x:
n=n+1
elif caractere==" ":
espace=espace+1
return n/(len(phrase)-espace)
Bonjour,
j'ai écrit le script ci-dessus avec Edupython pour avoir la fréquence d'une lettre dans une phrase mais si je le teste, par exemple avec
compter_lettre("je suis libre","i") , cela m'affiche 0.0
Je ne comprends pas mon erreur.
Merci de votre aide précieuse !
Cordialement,
C.
def compter_lettre(phrase,lettre):
x,n,espace=lettre,0,0
for caractere in phrase :
if caractere==x:
n=n+1
elif caractere==" ":
espace=espace+1
return n/(len(phrase)-espace)
Bonjour,
j'ai écrit le script ci-dessus avec Edupython pour avoir la fréquence d'une lettre dans une phrase mais si je le teste, par exemple avec
compter_lettre("je suis libre","i") , cela m'affiche 0.0
Je ne comprends pas mon erreur.
Merci de votre aide précieuse !
Cordialement,
C.
-
- Messages : 10388
- Enregistré le : lun. 30 août 2010 11:15
Re: fréquence avec Edupython
Bonjour,
j'ai vérifié ton programme :
Et il fonctionne parfaitement car en vérifiant :
As-tu bien mis les indentations comme il faut ? Je te donne le lien du script sur replit : https://repl.it/@rnivelle/CluelessBlissfulOutliers
Bonne continuation
j'ai vérifié ton programme :
Code : Tout sélectionner
def compter_lettre(phrase,lettre):
x,n,espace = lettre,0,0
for caractere in phrase :
if caractere == x:
n = n+1
elif caractere==" ":
espace = espace + 1
return n / (len(phrase)-espace)
Code : Tout sélectionner
>>> "je suis libre".count("i")
2
>>> len([car for car in "je suis libre" if car != " "])
11
>>> 2/11
0.18181818181818182
>>> compter_lettre("je suis libre","i")
0.18181818181818182
Bonne continuation
Re: fréquence avec Edupython
Bonsoir,
merci beaucoup j'ai tout compris grâce à vous : j'avais fait une erreur d'indentation.
J'en profite pour vous poser une autre question.
J'avais à compléter un script qui demande à l'utilisateur son prénom, son nom et son âge et affiche en respectant les majuscules et minuscules le résultat ci-contre :
Salut Prénom NOM
tu as age ans
Voici le script complété qui marche quand je le teste par exemple dans la Console avec identite("famechon","herve","15").
LE VOICI comme je l'ai complété :
from lycee import *
def identite(nom,prenom,age):
nom=nom.upper()
prenom=prenom.capitalize()
age=str(age)
print("Salut",prenom,nom,"\ntu as",age,"ans")
La ligne 5 : age=str(age) qui était donnée, je ne la comprends pas. Que signifie str ? et même si j'enlève cette ligne le script fonctionne. Elle sert à quoi alors cette ligne ?
Merci beaucoup !
C.
merci beaucoup j'ai tout compris grâce à vous : j'avais fait une erreur d'indentation.
J'en profite pour vous poser une autre question.
J'avais à compléter un script qui demande à l'utilisateur son prénom, son nom et son âge et affiche en respectant les majuscules et minuscules le résultat ci-contre :
Salut Prénom NOM
tu as age ans
Voici le script complété qui marche quand je le teste par exemple dans la Console avec identite("famechon","herve","15").
LE VOICI comme je l'ai complété :
from lycee import *
def identite(nom,prenom,age):
nom=nom.upper()
prenom=prenom.capitalize()
age=str(age)
print("Salut",prenom,nom,"\ntu as",age,"ans")
La ligne 5 : age=str(age) qui était donnée, je ne la comprends pas. Que signifie str ? et même si j'enlève cette ligne le script fonctionne. Elle sert à quoi alors cette ligne ?
Merci beaucoup !
C.
-
- Messages : 1427
- Enregistré le : ven. 20 juin 2014 15:58
Re: fréquence avec Edupython
Bonjour Cédric,
Cette instruction permet de changer le type de variable.
Les types "simple" des variables sont : int (entiers), float (nombres décimaux), booléen, str (chaînes de caractères)
Par exemple, si tu demande à un utilisateur se saisir son âge, la réponse entrée sera une chaîne de caractère (str)
Si tu veux la manipuler comme un nombre, il faut changer son type en faisant int(age)
Ici, l'instruction force donc age à être du type chaîne de caractère.
à bientôt
Cette instruction permet de changer le type de variable.
Les types "simple" des variables sont : int (entiers), float (nombres décimaux), booléen, str (chaînes de caractères)
Par exemple, si tu demande à un utilisateur se saisir son âge, la réponse entrée sera une chaîne de caractère (str)
Si tu veux la manipuler comme un nombre, il faut changer son type en faisant int(age)
Ici, l'instruction force donc age à être du type chaîne de caractère.
à bientôt
Re: fréquence avec Edupython
Merci beaucoup pour vos réponses toujours complètes, claires et rapides !
C.
C.
-
- Messages : 3501
- Enregistré le : ven. 25 nov. 2016 14:24
Re: fréquence avec Edupython
Merci pour ces compliments
A bientôt sur le forum
Sos-math
A bientôt sur le forum
Sos-math