Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #4206 > unrolled thread

Panne de mémoire avec print...

Started byDominique <dominique.sextant@orange.fr.invalid>
First post2024-09-03 17:29 +0200
Last post2024-09-05 17:15 +0200
Articles 6 — 2 participants

Back to article view | Back to fr.comp.lang.python


Contents

  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

#4206 — Panne de mémoire avec print...

FromDominique <dominique.sextant@orange.fr.invalid>
Date2024-09-03 17:29 +0200
SubjectPanne 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]


#4207

FromDominique <dominique.sextant@orange.fr.invalid>
Date2024-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]


#4209

FromDominique <dominique.sextant@orange.fr.invalid>
Date2024-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]


#4210

FromDominique <dominique.sextant@orange.fr.invalid>
Date2024-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]


#4211

FromDamien Wyart <damien.wyart@free.fr>
Date2024-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]


#4213

FromDominique <dominique.sextant@orange.fr.invalid>
Date2024-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