Bonjour à tous,
Ayant été très bien informé la précédente fois que j'ai demandé de l'aide ici, je reviens à nouveau à la charge.
On m'a donné la mission d'écrire un petit programme en python qui fait appel à des fonctions en C. Ne connaissant rien du tout au python je bute sur des bêtises et étant pressé par le temps, il me faut un coup de pouce
Voici le code C:
Et le code Python correspondant
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 typedef struct { int cols; int rows; bool**dot; } matrix; int show(const matrix* data) { int i,j; for( i = 0 ; i < data->rows ; i++ ) { for ( j = 0 ; j < data->cols ; j++ ) { if( data->dot[i][j] == true ) printf("true "); else printf("false "); } printf("\n"); } return 1; }
La ou ça pose soucis c'est à la ligne 17 dans le code python.
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 from c_types import * def myFunction(py_matrix): class Matrix(Structure): _fields_ = [("cols",c_int), ("rows",c_int), ("dot",POINTER(POINTER(c_bool)))] c_matrix = Matrix() c_matrix.cols = c_int(len(py_matrix)) c_matrix.rows = c_int(len(py_matrix[0])) for i in range(c_matrix.rows): for j in range(c_matrix.cols): c_matrix.dot[i][j] = py_matrix[i][j] return show(c_matrix)
L'idée serait de pouvoir écrire en python
1 correspondant à vrai et 0 à faux (Non vous n'êtes pas idiot
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 mat = [[0,1,1] , [0,0,1] ] myFunction(mat)c'est le reglement qui dit d'être clair ^^).
Comment je peux me débrouiller pour copier ma matrice en python vers ma structure qui sera adéquat pour ma fonction C ?
Merci de vos réponses, et bon dev !
Partager