Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.python > #4206 > unrolled thread
| Started by | Dominique <dominique.sextant@orange.fr.invalid> |
|---|---|
| First post | 2024-09-03 17:29 +0200 |
| Last post | 2024-09-05 17:15 +0200 |
| Articles | 6 — 2 participants |
Back to article view | Back to fr.comp.lang.python
Panne de mémoire avec print... Dominique <dominique.sextant@orange.fr.invalid> - 2024-09-03 17:29 +0200
Re: Panne de mémoire avec print... Dominique <dominique.sextant@orange.fr.invalid> - 2024-09-03 17:51 +0200
Re: Panne de mémoire avec print... Dominique <dominique.sextant@orange.fr.invalid> - 2024-09-04 06:19 +0200
Re: Panne de mémoire avec print... Dominique <dominique.sextant@orange.fr.invalid> - 2024-09-04 06:21 +0200
Re: Panne de mémoire avec print... Damien Wyart <damien.wyart@free.fr> - 2024-09-04 07:31 +0200
Re: Panne de mémoire avec print... Dominique <dominique.sextant@orange.fr.invalid> - 2024-09-05 17:15 +0200
| From | Dominique <dominique.sextant@orange.fr.invalid> |
|---|---|
| Date | 2024-09-03 17:29 +0200 |
| Subject | Panne de mémoire avec print... |
| Message-ID | <vb7a16$3crhi$1@dont-email.me> |
Bonsoir,
Je m'amuse à résoudre une énigme de Tangente par force brute avec
Python. En l'occurrence, il me faut trouver toutes les fractions
irréductibles comprises entre 0 et 1 inclusivement, et avec les chiffres
de 0 à 7/
J'ai sorti ce code qui fonctionne (19 fractions irréductibles et je sais
que mon code est tout laid mais je m'amuse avec Python 😳)
liste=[]
dic=set()
for i in range(8):
for j in range(1,8):
if i/j>=0 and j>i or (j==7 and i==7):
res=[i,j,i/j]
result=i/j
if result not in dic:
liste.append(res)
dic.add(result)
print(liste, len(liste))
Mais la sortie du print est toute moche et je ne sais plus comment faire
un print propre à l'image de ce que j'obtiens en appelant lise
directement hors script.
Comment feriez-vous ?
Merci et bonne soirée,
--
Dominique
Esto quod es
[toc] | [next] | [standalone]
| From | Dominique <dominique.sextant@orange.fr.invalid> |
|---|---|
| Date | 2024-09-03 17:51 +0200 |
| Message-ID | <vb7bar$3crhj$1@dont-email.me> |
| In reply to | #4206 |
Le 03/09/2024 à 17:29, Dominique a écrit : > Bonsoir, > > Je m'amuse à résoudre une énigme de Tangente par force brute avec > Python. En l'occurrence, il me faut trouver toutes les fractions > irréductibles comprises entre 0 et 1 inclusivement, et avec les chiffres > de 0 à 7/ > > J'ai sorti ce code qui fonctionne (19 fractions irréductibles et je sais > que mon code est tout laid mais je m'amuse avec Python 😳) > > liste=[] > dic=set() > > for i in range(8): > for j in range(1,8): > if i/j>=0 and j>i or (j==7 and i==7): > res=[i,j,i/j] > result=i/j > if result not in dic: > liste.append(res) > dic.add(result) > print(liste, len(liste)) > > Mais la sortie du print est toute moche et je ne sais plus comment faire > un print propre à l'image de ce que j'obtiens en appelant lise > directement hors script. > > Comment feriez-vous ? > > Merci et bonne soirée, > En appelant liste hors script et pas lise... -- Dominique Esto quod es
[toc] | [prev] | [next] | [standalone]
| From | Dominique <dominique.sextant@orange.fr.invalid> |
|---|---|
| Date | 2024-09-04 06:19 +0200 |
| Message-ID | <vb8n4h$3mq3n$1@dont-email.me> |
| In reply to | #4206 |
Le 03/09/2024 à 18:46, Stefan Ram a écrit : > Dominique <dominique.sextant@orange.fr.invalid> a écrit ou cité : >> Mais la sortie du print est toute moche Je te remercie, mais ce n'est pas tout-à-fait ça que je recherche. Si je fais print liste directement depuis mon script, j'ai ce type de sortie : [[0, 1, '0'], [1, 2, '1/2'], [1, 3, '1/3'], [1, 4, '1/4'], [1, 5, '1/5'], [1, 6, '1/6'], [1, 7, '1/7'], [2, 3, '2/3']] 8 [[0, 1, '0'], [1, 2, '1/2'], [1, 3, '1/3'], [1, 4, '1/4'], [1, 5, '1/5'], [1, 6, '1/6'], [1, 7, '1/7'], [2, 3, '2/3']] 8 etc... Si, par contre, je tape liste directement, après exécution du script,, j'obtiens ceci, sui est beaucoup plus lisible : liste Out[3]: [[0, 1, 0.0], [1, 2, 0.5], [1, 3, 0.3333333333333333], [1, 4, 0.25], [1, 5, 0.2], etc... Ma question est de savoir comment obtenir cet affichage en colonne directement depuis mon script avec print liste. j'espère avoir été plus clair 😕 -- Dominique Esto quod es
[toc] | [prev] | [next] | [standalone]
| From | Dominique <dominique.sextant@orange.fr.invalid> |
|---|---|
| Date | 2024-09-04 06:21 +0200 |
| Message-ID | <vb8n96$3mq3n$2@dont-email.me> |
| In reply to | #4209 |
Le 04/09/2024 à 06:19, Dominique a écrit : > Le 03/09/2024 à 18:46, Stefan Ram a écrit : >> Dominique <dominique.sextant@orange.fr.invalid> a écrit ou cité : >>> Mais la sortie du print est toute moche > > > Je te remercie, mais ce n'est pas tout-à-fait ça que je recherche. Si je > fais print liste directement depuis mon script, j'ai ce type de sortie : > > [[0, 1, '0'], [1, 2, '1/2'], [1, 3, '1/3'], [1, 4, '1/4'], [1, 5, > '1/5'], [1, 6, '1/6'], [1, 7, '1/7'], [2, 3, '2/3']] 8 > [[0, 1, '0'], [1, 2, '1/2'], [1, 3, '1/3'], [1, 4, '1/4'], [1, 5, > '1/5'], [1, 6, '1/6'], [1, 7, '1/7'], [2, 3, '2/3']] 8 etc... > > Si, par contre, je tape liste directement, après exécution du script,, > j'obtiens ceci, sui est beaucoup plus lisible : > > liste > Out[3]: > [[0, 1, 0.0], > [1, 2, 0.5], > [1, 3, 0.3333333333333333], > [1, 4, 0.25], > [1, 5, 0.2], etc... > > Ma question est de savoir comment obtenir cet affichage en colonne > directement depuis mon script avec print liste. > > j'espère avoir été plus clair 😕 > Au passage, je vois que j'ai mêlé l'affichage de ton script (en haut) et celui du lien en-dessous. Mais ça ne change rien à ma question... -- Dominique Esto quod es
[toc] | [prev] | [next] | [standalone]
| From | Damien Wyart <damien.wyart@free.fr> |
|---|---|
| Date | 2024-09-04 07:31 +0200 |
| Message-ID | <66d7f0aa$0$3586$426a74cc@news.free.fr> |
| In reply to | #4206 |
* Dominique <dominique.sextant@orange.fr.invalid> in fr.comp.lang.python: > liste=[] > dic=set() > for i in range(8): > for j in range(1,8): > if i/j>=0 and j>i or (j==7 and i==7): > res=[i,j,i/j] > result=i/j > if result not in dic: > liste.append(res) > dic.add(result) > print(liste, len(liste)) > Mais la sortie du print est toute moche et je ne sais plus comment > faire un print propre à l'image de ce que j'obtiens en appelant lise > directement hors script. Je propose : ,---- | import pprint | | liste = [] | dic = set() | | for i in range(8): | for j in range(1, 8): | if i / j >= 0 and j > i or (j == 7 and i == 7): | res = [i, j, i / j] | result = i / j | if result not in dic: | liste.append(res) | dic.add(result) | pprint.pprint(liste) | print(len(liste), "\n") `---- -- DW
[toc] | [prev] | [next] | [standalone]
| From | Dominique <dominique.sextant@orange.fr.invalid> |
|---|---|
| Date | 2024-09-05 17:15 +0200 |
| Message-ID | <vbchuh$cne2$1@dont-email.me> |
| In reply to | #4211 |
> Je propose : > > ,---- > | import pprint Merci, c'est exactement ce que j'avais oublié 😌 Bonne fin de journée, -- Dominique Esto quod es
[toc] | [prev] | [standalone]
Back to top | Article view | fr.comp.lang.python
csiph-web