Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/02/2021, à 13:30

Nuliel

[Résolu] comportement étrange code python2

Bonjour,
J'ai un problème avec le code suivant:

def fill_column_f(hexa, mat_f, col):
    l = bin(int(hexa, 16))[2:].zfill(128)
    for i in range(0, 128):
        mat_f[i][col] = int(l[i])
        print mat_f[0][0]
    return mat_f

Cette fonction n'est actuellement appelée qu'une fois pour des raisons de tests, avec col à 0 et mat_f à [[0]*128]*128. Ici dans la fonction l vaut 10110101000101110101000001001001111101001101100101010110101000100110110101000001010111110000111101101100101111000100101011010111, et je cherche à affecter ces bits à la colonne 0 ici.
Le truc vraiment étrange, c'est que le print mat_f[0][0] ne donne pas constamment la même valeur (qui devrait être 1 ici, soit le premier bit de l), mais prend toutes les valeurs de l.
Qu'est ce que j'ai loupé? Sur un truc aussi bête, je vois pas comment ça peut ne pas fonctionner.
Merci d'avance,
Nuliel

Dernière modification par Nuliel (Le 04/02/2021, à 13:48)

Hors ligne

#2 Le 04/02/2021, à 13:47

Nuliel

Re : [Résolu] comportement étrange code python2

Bon, finalement j'ai trouvé le problème, c'est [[0]*128]*128 qui pour moi donnait un tableau de 128 par 128, sauf qu'en fait les lignes sont dépendantes.
Il faut donc initialiser mat_f comme cela:
mat_f = [[0 for i in range(128)] for j in range(128)]

Hors ligne

#3 Le 04/02/2021, à 20:06

Compte supprimé

Re : [Résolu] comportement étrange code python2

Nuliel a écrit :

Bon, finalement j'ai trouvé le problème

Bonsoir @Nuliel.
ça m'arrive souvent. J'ai remarqué que souvent lorsque je piétine sur un truc, et que je sollicite un forum je trouve la réponse juste à ce moment-là (parfois juste au moment de la rédaction de ma question) ^^.
Tu utilises encore python2? Je le croyais sous terre roll

#4 Le 04/02/2021, à 20:08

Nuliel

Re : [Résolu] comportement étrange code python2

C'est la méthode du canard en plastique wink https://fr.wikipedia.org/wiki/Canard_en_plastique
Non, je fais tout sur python 3, mais là je dois utiliser un bout de code python2 qui tourne pas sous python3, d'où le besoin de cette antiquité wink

Hors ligne

#5 Le 04/02/2021, à 20:21

Compte supprimé

Re : [Résolu] comportement étrange code python2

C'est quoi la méthode du canard? Je sais qu'appliqué avec méthode il peut être source de plaisir...

#6 Le 04/02/2021, à 20:31

Nuliel

Re : [Résolu] comportement étrange code python2

Oups, je me suis trompé de lien: https://fr.wikipedia.org/wiki/M%C3%A9th … _plastique
En gros tu expliques à un canard en plastique (ou à tout objet inanimé, ou à une personne si elle a le temps) et en expliquant en détail, tu trouves ton erreur. En fait le forum est ton canard en plastique big_smile

Hors ligne

#7 Le 04/02/2021, à 20:45

Compte supprimé

Re : [Résolu] comportement étrange code python2

Intéressant, faudra que je m'y essaie. Mais avant de parler à ma main gauche ou à un canard en plastique, vaut mieux que je sois seul^^ . Je pense que pratiquer la chose avec un forum, est moins risqué tongue

#8 Le 04/02/2021, à 21:25

Nuliel

Re : [Résolu] comportement étrange code python2

Après c'est généralement fait sans vraiment le savoir: tu écris sur une feuille tous les détails, tu les dis à haute voix, tu expliques à quelqu'un ou à quelque chose, le tout est de pouvoir expliquer dans les moindres détails, et généralement ça permet de trouver la solution.
Sinon il y a aussi le debug pas à pas, avec une feuille de papier pour voir ce qui devrait se passer, et comparer smile

Hors ligne

#9 Le 07/02/2021, à 00:27

Compte supprimé

Re : [Résolu] comportement étrange code python2

Tu connais 2to3?
Cela permettrait de convertir du code python2 en python3. J'ignore si cela t'intéresse, mais je te mets le lien au cas où..
https://docs.python.org/fr/3.8/library/ … -reference

#10 Le 07/02/2021, à 11:36

Nuliel

Re : [Résolu] comportement étrange code python2

Oh si, cela m'intéresse! Merci pour l'info!

Hors ligne