Bonsoir je bute en python sur une boucle for et un slice
Je veux parcourir un tableau par s�quence avec un slice d�limit� par i:j je ne vois pas comment l��crire en python
J�ai farfouiller sur le net je me suis perdu
Merci d�avance
Bonsoir je bute en python sur une boucle for et un slice
Je veux parcourir un tableau par s�quence avec un slice d�limit� par i:j je ne vois pas comment l��crire en python
J�ai farfouiller sur le net je me suis perdu
Merci d�avance
Bonjour
Et tu n'as pas farfouill� dans un tutoriel Python ?
Accessoirement je ne vois pas le rapport entre ta demande et ton titre (o� est la s�quence? o� est la redondance?). Autant les titres tr�s g�n�ralis�s tels que "probl�me Python" ou "j'y arrive pas" c'est nul, autant les titres sp�cifiques mais dont la sp�cificit� indiqu�e n'a rien � voir avec le topic lui-m�me c'est tout aussi nul.
Code python : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 tab=..... (une liste de trucs) ..... for i in range(0, len(tab), 5): print(tab[i:i+5])
Mon Tutoriel sur la programmation �Python�
Mon Tutoriel sur la programmation �Shell�
Sinon il y en a pleins d'autres. N'oubliez pas non plus les diff�rentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
merci j'y avais pens� a cette impl�mentation , autant pour moi je cherche a programmer une bande qui parcourt le texte avec des slices
je suis novice avec les slices et la syntaxe python j'ai et� stresse de voir des slice indic� d'ou mon appel au secours
merci pour votre aide
Salut !
Je ne sais pas trop si tu utilises numpy ou pas mais voici un exemple :
https://pyspc.readthedocs.io/fr/latest/05-bases/08-tableaux_numpy.html#Parcourir-le-contenu-d'un-tableau-numpy
Sinon j'ai pens� que set() pourrait peut-�tre t'aider :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6 >>> list1 = [1,2,3,4,5,6] >>> list2 = [4,5,6,7,8,9] >>> set(list2) & set(list1) {4, 5, 6} >>> set([1,2,1,5,1,1,2,2,4,2,3]) {1, 2, 3, 4, 5}
Comment tu verrais �a pour trouver une redondance ??? set(list1) & set(list2) fait ressortir les �l�ments communs � "list1" et "list2" mais "�l�ment commun" ne signifie pas "redondance"...
Mouais... le "1" et "2" sont manifestement redondants mais ta solution ne les fait pas ressortir tant que �a... Ou alors on ne parle pas de la m�me "redondance"...
Code python : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 t=[1,2,1,5,1,1,2,2,4,2,3] [x for x in set(t) if t.count(x) > 1] [1, 2]
Mon Tutoriel sur la programmation �Python�
Mon Tutoriel sur la programmation �Shell�
Sinon il y en a pleins d'autres. N'oubliez pas non plus les diff�rentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Merci beaucoup j'ai trouve un code source qui m'as aide mais je bute sur savefig a quel endroit et ou dois je stocker cet image et pourquoi rien ne s'affiche? pour information le code fonctionne sur linux
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 import random import matplotlib.pyplot as plt def isprefixe(texte,mot,i): B = True j = 0 while (j < len(mot)) and B: if texte[i+j] != mot[j]: B = False j +=1 return B def cherche_occurrences(texte, mot): occ = [] # liste des occurrences for i in range(len(texte)-len(mot)+1): if isprefixe(texte,mot,i): occ.append(i) return occ def texte_alea(n): lettres = "abcdefghijklmnopqrstuvwxyz" texte = "" for i in range(n): texte = texte + lettres[random.randint(0,25)] return texte def texte_alea2(n): texte= "" for i in range(n): texte += random.choice("abcdefghijklmnopqrstuvwxyz") return texte #print({}.format(nombre_moyen_apparition(10000,llg,1000))) def nombre_moyen_apparition(n,mot,m): compteur = 0 for i in range(m): texte = texte_alea2(n) compteur += len(cherche_occurrences(texte,mot)) return compteur / m X=[] Y=[] for n in range (200,30000,200): X.append(n) Y.append(nombre_moyen_apparition(n,mot,m)) plt.plot(X,Y) plt.savefig(pb_py003-fig1.eps) plt.show()
Et tu l'as �tudi� ce code source o� tu l'as juste recopi� sans y rien piger?
Il n'y a rien qui te choque dans cette fonction? Style un incr�ment qui ne se fait que sous certaine condition (boucle infinie si la condition n'arrive pas)...
Code python : S�lectionner tout - Visualiser dans une fen�tre � part
1
2 def isprefixe(texte, mot, i): return texte[i:len(mot)+i] == mot
Un peu pareil. Un return d�s la premi�re it�ration, on peut se demander � quoi sert donc la boucle !!!
Code python : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 import string def texte_alea(n): return "".join(random.sample(string.ascii_lowercase, n))
Mouais ok. On est en droit de se demander o� t'as trouv� cette bouse. Mais de ton c�t� si tu ne sais pas lire une boucle, commence par apprendre Python quoi.
Mon Tutoriel sur la programmation �Python�
Mon Tutoriel sur la programmation �Shell�
Sinon il y en a pleins d'autres. N'oubliez pas non plus les diff�rentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
j'ai r�cuper� ce code a cet adresse http://alain.troesch.free.fr/2015/Fi.../corrinfo8.pdf en python je maitrise uniquement les listes les tuples et les dictionnaires et sickit learn a premier impression je n'ai rein compris a ce code d'ou mon appel au secour
Salut,
Les exercices associ�s � un cours n'ont pour but que de vous faire pratiquer les notions abord�es dans le chapitre correspondant.
C'est rarement du bon Python puisqu'on vous force � comprendre des constructions �l�mentaires qu'on �crit peu souvent (en dehors de ces cours pour d�butant).
Maintenant, si vous voulez apprendre � programmer, il ne faut pas juste r�cup�rer la solutions des exercices mais essayer de les faire par vous m�me en vous aidant du contenu du cours.
- W
Oui, ben c'est �a. Ton code...
... ne correspond pas � ce code...
Code python : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 def isprefixe(texte,mot,i): B = True j = 0 while (j < len(mot)) and B: if texte[i+j] != mot[j]: B = False j +=1 return B
...pr�sent� dans le document que tu cites. Et tout le reste est � l'avenant. T'as effectivement recopi� sans y rien piger. Et tu ne sais m�me pas � quoi servent les indentations en Python, alors que c'est la toute premi�re chose qu'on apprend !!!
Code python : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 def isprefixe(texte,mot,i): B = True j = 0 while (j < len(mot)) and B: if texte[i+j] != mot[j]: B = False j +=1 return B
G�n�ralement la "maitrise" de ces �l�ments passe au pr�alable par la "maitrise" des boucles... mais admettons.
Malheureusement on ne pourra pas apprendre Python � ta place. Enfin si, on pourrait r��crire ici la base d'un programme Python (les indentations, les boucles, etc) mais puisque c'est d�j� �crit dans les tutos...
Mon Tutoriel sur la programmation �Python�
Mon Tutoriel sur la programmation �Shell�
Sinon il y en a pleins d'autres. N'oubliez pas non plus les diff�rentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
je savais developpe en python en 2012 mais avec l'age j'ai oublie je suis plus algorithmicien mainteant et theoricien j'ai perdu de ma verve c'est la vie
en tout cas merci ce qui me bloque c'est juste la ligne savefig quand je regarde la librairie ils parlent du nom du fichier pas du chemin ou est stocker le fichier
je ne comprends pas ce que fais la fonction
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 def nombre_moyen_apparition(n,mot,m): compteur = 0 for i in range(m): texte = texte_alea2(n) compteur += len(cherche_occurrences(texte,mot)) return compteur / m X=[] Y=[] for n in range (200,30000,200): X.append(n) Y.append(nombre_moyen_apparition(n,mot,m)) plt.plot(X,Y) plt.savefig(comparaison.png) plt.show()
Salut
Le r�pertoire dans lequel est stock� le fichier est le r�pertoire courant (du processus utilisateur). Ce qui n'a rien � voir avec la programmation (mais avec le syst�me de fichier, le r�pertoire par d�faut,...)
- W
Un "nom de fichier" implique toujours son chemin. Si je parle de "/etc/passwd", il s'agit du fichier "passwd" situ� dans le dossier "/etc" (nom absolu). Si je parle de "etc/passwd" il s'agit du fichier "passwd" situ� dans un dossier "etc" situ� lui-m�me dans le dossier o� je me trouve au moment o� je lance la commande (nom relatif). Et si je parle de "passwd" il s'agit du fichier "passwd" situ� dans le dossier o� je me trouve au moment o� je lance la commande (�quivalent de "./passwd" avec dossier "." mis par d�faut). L� encore un nom relatif. Et cela n'est pas une notion Python mais une notion OS (savoir nommer/rep�rer un fichier dans son OS).
Mon Tutoriel sur la programmation �Python�
Mon Tutoriel sur la programmation �Shell�
Sinon il y en a pleins d'autres. N'oubliez pas non plus les diff�rentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
le plus simple pour r�soudre le probl�me initial est de programmer une bande avec des slices que l'on fait traverser sur le texte le probl�me est peut on consid�rer les slices comme une bande de parcours
et comment l'�crire j'ai l'algo mais concr�tement et syntaxiquement je bute
Salut,
Vous n'avez jamais d�crit le probl�me a r�soudre, vous r�ler juste de ne pas arriver � �crire la solution que vous envisagez...
Et le code que Sve@r a d�j� post� ne le fait pas, c'est que ce n'est peut �tre pas si simple. Peut �tre faudrait-il commencer avec ce qu'on a au d�part et ce qu'on cherche � obtenir sur un ou plusieurs exemples simples?
- W
Heureusement qu'en dehors de la syntaxe tu maitrises le reste
Je pense qu'une regex intelligente fera 3 fois mieux en 3 fois moins de ligne mais j'ai la flemme de la chercher (JurassicPork?)
Code python : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 def redondance(pattern, texte): cpt=0 l=len(pattern) for i in range(len(texte) - l + 1): if texte[i:i+l] == pattern: cpt+=1 return cpt print(redondance("abc", "tototabctotoabc"))
Mon Tutoriel sur la programmation �Python�
Mon Tutoriel sur la programmation �Shell�
Sinon il y en a pleins d'autres. N'oubliez pas non plus les diff�rentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Python sait d�j� faire �� tr�s bien:
"compter les occurrences d'une chaine de caract�res dans une autre" est si simple � dire que c'est pas sur que c'est ce que cherche � faire le PO...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 >>> "tototabctotoabc".count('abc') 2 >>>
Apr�s comment faire �� avec Python, c'est d'abord un algo. et personnellement, si je ne connaissait pas "count", j'�crirai cela plut�t sous la forme d'un automate:
note: pas test�.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 def redondance(pattern, texte): count = 0 n = len(pattern) ix = 0 for c in texte: if c == pattern[ix]: ix += 1 if ix == n: count += 1 ix = 0 elif ix != 0: ix = 0 return count
- W
salut,
un exemple d'extraction des occurrences avec recouvrement via une regex :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 >>> import re >>> occurrences = lambda texte, mot: re.findall(r'(?=({}))'.format(mot), texte) >>> occurrences("abbabba", "abba") ['abba', 'abba']
Zut, en plus j'avais utilis� count() dans ce m�me topic mais l� j'y ai pas pens�. Ceci dit, comme le PO avait parl� de "bandes de slices" �a a �t� la vision qui s'est impos�e: un slice glissant.
Ouais mais comme avec lui rien ne semble simple...
En fait c'est n�cessaire si on ne connait pas non plus le slice. Sinon mon algo suffit
Pas besoin. Tant que la lettre en cours correspond � la lettre de l'indice interm�diaire on incr�mente l'indice et si l'indice atteint la longueur du pattern on a trouv� une occurence. Et si entre temps la lettre diff�re on remet l'indice interm�diaire au d�but. Ca semble coh�rent.
Mon Tutoriel sur la programmation �Python�
Mon Tutoriel sur la programmation �Shell�
Sinon il y en a pleins d'autres. N'oubliez pas non plus les diff�rentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Partager