Par contre tout mes programmes pour realiser des compteurs pour differencier les voyelles sont erronés.
Puis je avoir des pistes svp
Par contre tout mes programmes pour realiser des compteurs pour differencier les voyelles sont erronés.
Puis je avoir des pistes svp
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
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 ny 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>
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part for caractere in line:On ne revient pas en arrière dans une lecture de fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part for line in fichier:
ca ne fonctionne toujours pas avec for line in fichier.
Je n'ai pas d’idée pour la correction
Salut,
Vous faites ceci:
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à).
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()
Dans ce cas pour connaître le nombre de voyelles du texte il vous suffit de faire quelque chose comme ceci:
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.
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
Ce code ne gère pas les majuscules. A vous de vous y coller un peu!
Ju
Ce n'est pas une mauvaise idée.has_key n'étant plus conseillé... et je ne sais même pas si elle existe encore en python 3.x
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
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
Partager