Problème de programmation Python
Eleve
-
Phil_1857 Messages postés 1956 Statut Membre -
Phil_1857 Messages postés 1956 Statut Membre -
Bonjour,
je dois faire un programme qui renvoie l'occurrence de chaque lettre dans un texte, mais je suis bloquée car chaque programme indépendant ne fonctionne pas. Voici mon programme:
def formatage(texte):
"""formate le texte"""
if len(texte) <= 0:
print("Le texte doit comporter au moins 1 lettre.")
alphabet = "abcdefghijklmnopqrstuvwxyz"
if texte in alphabet:
texte = texte.lower()
texte_propre = texte.replace(" ","")
return texte_propre
def comptage(nb_lettre):
"""compte le nombre de lettre et sa position dans l'alphabet"""
nb_lettre = [0]*26
for lettre in texte_propre:
position = alphabet.index(lettre)
nb_lettre[position] = nb_lettre[position] + 1
return nb_lettre[position]
def frequence(lettre_dans_texte):
"""calcule la fréquence d'apparition des lettres dans le texte"""
lettre_dans_texte = len(texte)
nb_lettre[alphabet.index(i)] = (nb_lettre / lettre_dans_texte * 100)
frequence = nb_lettre[alphabet.index(i)]
return frequence
def affichage(menu):
"""présentation"""
menu = input("Bonjour, ce programme vous permet d'afficher la fréquence de chaque lettre dans un texte. \nVeuillez entrer votre texte: ")
return menu
def main():
texte = affichage(menu)
texte = formatage(texte)
texte =
Merci d'avance pour votre aide :)
je dois faire un programme qui renvoie l'occurrence de chaque lettre dans un texte, mais je suis bloquée car chaque programme indépendant ne fonctionne pas. Voici mon programme:
def formatage(texte):
"""formate le texte"""
if len(texte) <= 0:
print("Le texte doit comporter au moins 1 lettre.")
alphabet = "abcdefghijklmnopqrstuvwxyz"
if texte in alphabet:
texte = texte.lower()
texte_propre = texte.replace(" ","")
return texte_propre
def comptage(nb_lettre):
"""compte le nombre de lettre et sa position dans l'alphabet"""
nb_lettre = [0]*26
for lettre in texte_propre:
position = alphabet.index(lettre)
nb_lettre[position] = nb_lettre[position] + 1
return nb_lettre[position]
def frequence(lettre_dans_texte):
"""calcule la fréquence d'apparition des lettres dans le texte"""
lettre_dans_texte = len(texte)
nb_lettre[alphabet.index(i)] = (nb_lettre / lettre_dans_texte * 100)
frequence = nb_lettre[alphabet.index(i)]
return frequence
def affichage(menu):
"""présentation"""
menu = input("Bonjour, ce programme vous permet d'afficher la fréquence de chaque lettre dans un texte. \nVeuillez entrer votre texte: ")
return menu
def main():
texte = affichage(menu)
texte = formatage(texte)
texte =
Merci d'avance pour votre aide :)
A voir également:
- Problème de programmation Python
- Application de programmation - Guide
- Citizen code python avis - Accueil - Outils
- Ce programme est écrit en python il construit un mot secret ✓ - Forum Python
- Ce programme est écrit en python compléter le ✓ - Forum Python
- Problème de programmation digicode extel klavy 3 ✓ - Forum Loisirs / Divertissements
12 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
peux-tu utiliser les balises de code, comme expliqué ici: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
ton programme est-il complet? fonctionne-t-il bien?
peux-tu utiliser les balises de code, comme expliqué ici: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
ton programme est-il complet? fonctionne-t-il bien?
Je ne pense pas pouvoir les utiliser. Mon programme en haut ne fonctionne pas du tout car il manque plein d'informations ou j'ai mal formulé des lignes mais je ne sais pas comment résoudre cela car j'ai aucune idée de où se trouvent mes erreurs.
Bonjour
les balises de code ça sert à faire en sorte que l'indentation soit conservée quand tu postes sur le forum.
Si tu ne les utilises pas, ton code est illisible et tu n'obtiens pas d'aide.
Donc je pense que tu devrais lire le tuto que t'a donné yg_be et réfléchir à cette phrase
les balises de code ça sert à faire en sorte que l'indentation soit conservée quand tu postes sur le forum.
Si tu ne les utilises pas, ton code est illisible et tu n'obtiens pas d'aide.
Donc je pense que tu devrais lire le tuto que t'a donné yg_be et réfléchir à cette phrase
Je ne pense pas pouvoir les utiliser
Désolée, je n'avais pas compris. J'espère que cela fonctionne à présent.
def (texte):
if len(texte) <= 0:
print("Le texte doit comporter au moins 1 lettre.")
alphabet = "abcdefghijklmnopqrstuvwxyz"
if texte in alphabet:
texte = texte.lower()
texte_propre = texte.replace(" ","")
return texte_propre
def comptage(nb_lettre):
nb_lettre = [0]*26
for lettre in texte_propre:
position = alphabet.index(lettre)
nb_lettre[position] = nb_lettre[position] + 1
return nb_lettre[position]
def frequence(lettre_dans_texte):
"""calcule la frequence d'apparition des lettres dans le texte"""
lettre_dans_texte = len(texte)
nb_lettre[alphabet.index(i)] = (nb_lettre / lettre_dans_texte * 100)
frequence = nb_lettre[alphabet.index(i)]
return frequence
def affichage(menu):
menu = ("Bonjour ")
def main():
texte = affichage(menu)
texte = formatage(texte)
texte =
Bonjour Eleve,
Ben non, ca ne va pas
Visuellement, ça doit ressembler à ceci :
Sinon, il n'y a que des définitions de fonctions dans ton code
Elles ne sont jamais appelées
Donc ,à l'exécution, il ne se passe rien ...
Ben non, ca ne va pas
Visuellement, ça doit ressembler à ceci :
def test():
print('test')
test()
Sinon, il n'y a que des définitions de fonctions dans ton code
Elles ne sont jamais appelées
Donc ,à l'exécution, il ne se passe rien ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu peux réduire tout ton programme en une dizaine de ligne en utilisant une simple table de hashage.
OK,
mais à réduire ou pas ce code n'est qu'une suite de définitions de fonctions
jamais appelées, donc à l'exécution il ne se passe rien ...
mais à réduire ou pas ce code n'est qu'une suite de définitions de fonctions
jamais appelées, donc à l'exécution il ne se passe rien ...
from collections import defaultdict
texte = "ceci est un texte"
freq = defaultdict(lambda: 0)
for c in texte:
if c.isalnum():
freq[c] += 1
for k, v in freq.items():
print("Frequence de", k,":", v)
C'est l'occasion de le faire fonctionner du coup
Surement, mais le problème de base, c'est que les fonctions ne sont pas appelées
quand je vois qu'il y a une fonction main(), je me dis que peut-être Eleve pense que cette
fonction se lance au départ, à l'instar de la fonction int main() du C ....
Il nous faudrait une réponse de sa part ...
quand je vois qu'il y a une fonction main(), je me dis que peut-être Eleve pense que cette
fonction se lance au départ, à l'instar de la fonction int main() du C ....
Il nous faudrait une réponse de sa part ...
Je ne peux pas choisir un exercice plus simple. Avant ce programme, j'ai fait des programmes plus simples, c'était pour commencer à programmer et connaitre les bases. Par exemple, programmer un réveil à une certaine heure et sur différent jour, ou un morpion,...
L'exercice était :
Écrivez une fonction alarme_heure(jour, on_vacation) qui prend comme paramètre
un jour sous forme entier codé de la manière suivante
0 = dimanche,
1 = Lundi,
2 = Mardi,
... 6 = Samedi)
et un booléen en_vacance
et retourne une chaîne de caractère de la forme "7:00"indiquant quand le réveil doit sonner.
En semaine, l'alarme devrait être "7:00" et le week-end, elle devrait être "10:00".
Sauf si nous sommes en vacances :
alors en semaine, il devrait être "10h00"
et les week-ends, il devrait être "off".
Ma réponse est :
Écrivez une fonction alarme_heure(jour, on_vacation) qui prend comme paramètre
un jour sous forme entier codé de la manière suivante
0 = dimanche,
1 = Lundi,
2 = Mardi,
... 6 = Samedi)
et un booléen en_vacance
et retourne une chaîne de caractère de la forme "7:00"indiquant quand le réveil doit sonner.
En semaine, l'alarme devrait être "7:00" et le week-end, elle devrait être "10:00".
Sauf si nous sommes en vacances :
alors en semaine, il devrait être "10h00"
et les week-ends, il devrait être "off".
Ma réponse est :
def alarme_heure(jour, on_vacation):
if on_vacation == False:
if (jour >= 1 and jour < 6):
return '7:00'
return '10:00'
if (jour >= 1 and jour < 6):
return '10:00'
return 'off'
Bonjour Eleve,
"Je ne sais pas comment faire du coup pour les "appeler""
Pour les appeler, c'est la base du langage Python, tu as eu un cours sur le langage, ou au moins
une documentation ?
Le principe est là:
et ca imprime à l'écran : Coucou !
"Je ne sais pas comment faire du coup pour les "appeler""
Pour les appeler, c'est la base du langage Python, tu as eu un cours sur le langage, ou au moins
une documentation ?
Le principe est là:
#definition de la fonction "test"
def test():
print('Coucou !')
#appel de la fonction "test"
test()
et ca imprime à l'écran : Coucou !