IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Occurrences des lettres


Sujet :

Python

  1. #21
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Par défaut
    Par contre tout mes programmes pour realiser des compteurs pour differencier les voyelles sont erronés.

    Puis je avoir des pistes svp

  2. #22
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Par défaut
    le programme devient :
    [CODE#!/bin/python

    fichier = open('maddy1.txt', 'r')
    dico = {}

    for line in fichier:
    for caractere in line:
    if caractere not in dico:
    dico[caractere] = 1
    else:
    dico[caractere] += 1

    fichier.close()
    for caractere in dico:
    if caractere.isupper():
    case = 'majuscule'
    else:
    case = 'minuscule'
    print('Il y a {0} fois cette lettre en {1}'.format(dico[caractere], case))

    listevoyelles = [ "a", "e", "i", "o" "u" "y"]
    nbvoyelle = 0
    for caractere in line:
    if caractere in listevoyelles :
    nbvoyelle += 1
    ][/CODE]

    Mais pour les voyelles il ne fonctionne pas

  3. #23
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <s>listevoyelles = [ "a", "e", "i", "o" "u" "y"]
    nbvoyelles = 0
    for caractere in line:
            if caractere in listevoyelles :
                    nbvoyelles += 1
    if   nbvoyelles == 0 : 
            print "Il n’y a pas de voyelles dans le texte"    
        elif  nbvoyelles == 1 :   
            print "Il y a une seule voyelle dans le texte"
        else :    
            print "Le texte contient " + str(nbvoyelles) + " voyelles."  </s>

  4. #24
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Si tu écris
    à la suite du code qui précède, comme dans ton exemple, sache que line est la dernière ligne de On ne revient pas en arrière dans une lecture de fichier.

  5. #25
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2013
    Messages : 19
    Par défaut
    ca ne fonctionne toujours pas avec for line in fichier.

    Je n'ai pas d’idée pour la correction

  6. #26
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 662
    Par défaut
    Salut,

    Vous faites ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    fichier = open('maddy1.txt', 'r')
    dico = {}
     
    for line in fichier:
        for caractere in line:
            if caractere not in dico:
                dico[caractere] = 1
            else:
                dico[caractere] += 1
     
    fichier.close()
    Ce n'est pas une mauvaise idée. Votre dictionnaire possède une clé unique pour chaque caractère trouvé dans le texte associé au nombre de fois rencontré (ça j'imagine que vous le saviez déjà).

    Dans ce cas pour connaître le nombre de voyelles du texte il vous suffit de faire quelque chose comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    listevoyelles = [ "a", "e", "i", "o", "u", "y"]
    nb_voyelles = 0
    for voyelle in listevoyelles:
        if dico.has_key(voyelle):
            nb_voyelles += dico[voyelle]
     
    print nb_voyelles
    Ici, pour chaque voyelle de la liste on vérifie que notre dictionnaire contient la clé associée grâce à la méthode has_key(). Si oui on récupère l’occurrence associée (la valeur associée à la clé). Si non, on ne fait rien.

    Ce code ne gère pas les majuscules. A vous de vous y coller un peu!

    Ju

  7. #27
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Ce n'est pas une mauvaise idée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    listevoyelles =  "aeiouy"
    nb_voyelles = 0
    for voyelle in listevoyelles:
        if voyelle in dico:
            nb_voyelles += dico[voyelle]
            print nb_voyelles
    has_key n'étant plus conseillé... et je ne sais même pas si elle existe encore en python 3.x

  8. #28
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 1
    Par défaut
    Premièrement désolé de poster ici mais je ne trouve pas comment créer un poste.
    J'ai un problème avec Tkinter si quelqu'un trouve solution a mon problème c'est sur la sortie de la derniere boucle While qu'est le problème.

    import random
    from tkinter import *

    def affichage(matrice):
    for i in range(len(matrice)):
    for j in range(len(matrice)):
    if matrice[i][j]==-1:
    zone_dessin.create_image(i*40,j*40,anchor=NW,image=mine)
    if matrice[i][j]=='*':
    zone_dessin.create_image(i*40,j*40,anchor=NW,image=mine)
    if matrice[i][j]==1:
    zone_dessin.create_image(i*40,j*40,anchor=NW,image=nb1)
    if matrice[i][j]==2:
    zone_dessin.create_image(i*40,j*40,anchor=NW,image=nb2)
    if matrice[i][j]==3:
    zone_dessin.create_image(i*40,j*40,anchor=NW,image=nb3)
    if matrice[i][j]==4:
    zone_dessin.create_image(i*40,j*40,anchor=NW,image=nb4)
    if matrice[i][j]==5:
    zone_dessin.create_image(i*40,j*40,anchor=NW,image=nb5)
    if matrice[i][j]==6:
    zone_dessin.create_image(i*40,j*40,anchor=NW,image=nb6)
    if matrice[i][j]==7:
    zone_dessin.create_image(i*40,j*40,anchor=NW,image=nb7)
    if matrice[i][j]==8:
    zone_dessin.create_image(i*40,j*40,anchor=NW,image=nb8)
    if matrice[i][j]==0:
    zone_dessin.create_image(i*40,j*40,anchor=NW,image=casevide)
    if matrice[i][j]=='-':
    zone_dessin.create_image(i*40,j*40,anchor=NW,image=case)



    def matrice_zeros(N):
    mat_zeros=[]
    for i in range(N):
    mat_zeros.append([])
    for j in range(N):
    mat_zeros[i].append(0)
    return mat_zeros

    def genere_T1():
    T1=[]
    global nbbombe
    global nbtaille
    for i in range(nbtaille):
    T1.append([])
    for j in range(nbtaille):
    T1[i].append(0)
    nbmine=0
    while nbmine<nbbombe:
    i=random.randint(0,nbtaille-1)
    j=random.randint(0,nbtaille-1)
    if T1[i][j]==0:
    T1[i][j]=-1
    nbmine=nbmine+1

    return T1


    def genere_T2(T1):
    T2=[]
    global nbtaille
    for i in range(nbtaille):
    T2.append([])
    for j in range(nbtaille):
    if T1[i][j]==0:
    T2[i].append('-')
    else:
    T2[i].append('*')
    return T2




    def genere_T4():
    global nbtaille
    mat_zero=[]
    for i in range(nbtaille):
    mat_zero.append([])
    for j in range(nbtaille):
    mat_zero[i].append('-')

    return mat_zero




    def admissible(i,j):
    global nbtaille
    if i<nbtaille and j<nbtaille and i>=0 and j>=0:
    return True
    else:
    return False

    def genere_T3(T1):
    global nbtaille
    T3=matrice_zeros(nbtaille)
    for i in range (nbtaille):
    for j in range(nbtaille):
    for k in range (i-1,i+2):
    for l in range (j-1,j+2):
    if (admissible(k,l)) and (k!=i or l!=j):
    if T1[k][l]==-1:
    T3[i][j]=int(T3[i][j])+1

    return T3


    def devoile_cases(i,j,T3,T4):
    L=[[1,1],[1,0],[1,-1],[0,-1],[0,1],[-1,-1],[-1,0],[-1,1]]
    T4[i][j]=T3[i][j]
    if T3[i][j]==0:
    for m in L:
    k=i+m[0]
    l=j+m[1]
    if admissible(k,l) and T4[k][l]=='-':
    T4[k][l]=T3[k][l]
    if T3[k][l]==0:
    devoile_cases(k,l,T3,T4)

    def jouer(event):
    global T4
    global T2
    lig=int(event.x/40)
    col=int(event.y/40)
    if admissible(lig,col):
    if T1[lig][col]!=-1 :
    T4[lig][col]=T3[lig][col]
    devoile_cases(lig,col,T3,T4)
    affichage(T4)
    print()

    else:
    T4=T2
    affichage(T4)
    print('perdu!')

    affichage(T4)
    debut=0
    nbbombe=10
    nbtaille=10

    fen = Tk()
    fen.title('Demineur')
    fen.geometry('317x350')

    def lvlfacile():
    fen.geometry('500x500')
    global nbbombe
    global nbtaille
    global debut
    nbbombe=12
    nbtaille=10
    debut=1

    def lvldur():
    fen.geometry('700x700')
    global nbbombe
    global nbtaille
    global debut
    nbbombe=30
    nbtaille=16
    debut=1

    def lvlmoyen():
    fen.geometry('600x600')
    global nbbombe
    global nbtaille
    global debut
    nbbombe=22
    nbtaille=13
    debut=1

    case=PhotoImage(file="Case.gif")
    mine=PhotoImage(file="Mine.gif")
    nb1=PhotoImage(file="Nombre 1.gif")
    nb2=PhotoImage(file="Nombre 2.gif")
    nb3=PhotoImage(file="Nombre 3.gif")
    nb4=PhotoImage(file="Nombre 4.gif")
    nb5=PhotoImage(file="Nombre 5.gif")
    nb6=PhotoImage(file="Nombre 6.gif")
    nb7=PhotoImage(file="Nombre 7.gif")
    nb8=PhotoImage(file="Nombre 8.gif")
    casevide=PhotoImage(file="CaseVide.gif")
    accueil=PhotoImage(file="Pagedaccueil.gif")

    dessinaccueil=Canvas(fen,width=317,height=350)
    dessinaccueil.create_image(0,0,anchor=NW,image=accueil)

    T1=genere_T1()
    T2=genere_T2(T1)
    T3=genere_T3(T1)
    T4=genere_T4()

    while debut==0:
    facile=Button(dessinaccueil,text='Debutant',command=lvlfacile)
    intermediaire=Button(dessinaccueil,text='Intermediaire',command=lvlmoyen)
    dur=Button(dessinaccueil,text='Difficile',command=lvldur)
    facile.place(x=80,y=170,width=200,height=28)
    intermediaire.place(x=80,y=220,width=200,height=28)
    dur.place(x=80,y=270,width=200,height=28)
    dessinaccueil.pack()
    dessinaccueil.mainloop()


    zone_dessin=Canvas(width=nbtaille*40+20,height=nbtaille*40+20)
    affichage(T4)
    zone_dessin.pack()
    fen.bind('<Button-1>', jouer )
    fen.mainloop()



    Par avance merci de vos réponses

Discussions similaires

  1. Contour des lettres en gris foncé
    Par pihug12 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 18
    Dernier message: 18/10/2005, 05h53
  2. [C#] que des Lettres dans la textbox
    Par diaboloche dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/10/2005, 08h21
  3. [JTextField] Limiter la saisie a des lettres.
    Par Cyborg289 dans le forum Composants
    Réponses: 4
    Dernier message: 16/09/2005, 10h40
  4. transformer des lettres en chifres
    Par hassanibi dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 06/09/2005, 08h54
  5. Comment entrer des lettres accentuées sous postgresql ?
    Par Chihuahua dans le forum Requêtes
    Réponses: 11
    Dernier message: 28/08/2003, 08h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo