Trouver et changer les coordonnée d'une matrice

Fermé
KaMa1712 Messages postés 2 Date d'inscription samedi 20 février 2021 Statut Membre Dernière intervention 20 février 2021 - 20 févr. 2021 à 15:39
KaMa1712 Messages postés 2 Date d'inscription samedi 20 février 2021 Statut Membre Dernière intervention 20 février 2021 - 20 févr. 2021 à 18:54
Bonjour,

j'ai un projet et cette étape consiste à repérer si une certaine coordonnée est dans le tableau de jeu ou non, pour sa je doit d'abord convertir les lettres en chiffres en ASCII (fait) ensuite mettre mes propre coordonnées (en colonnes de A à I et en lignes de 1 à 9) et après une petite fonction pour voir si les coordonnées son dans le tableau.
Mais j'ai plusieurs problèmes que vous verrais dans les screen en-dessous, premièrement la représentation de ma matrice m'oblige à ignorer les 2 premières lignes et colonnes (car ce n'est pas sur le plateau de jeu qui fais du 9*9) mais pour la représentation de celui-ci je suis obligé de faire un 20*11. Donc le première objectif serais de ne prendre en compte dans les fonction que la partie ou les pions ce déplacerons (9*9) mais que sa ne l'enlève pas de l'affichage graphique.

Petite précision je n'ai le droit à aucune librairie il faut que sa soit en pure code et je n'y arrive pas du tout je suis bloqué à cette étape du coup si vous pouvez m'aider sa serais génial :)

oh et aussi les print que je mets hors des fonctions sont soit des tests soit des appels de fonction.


#python

from math import *

lignes = [1,2,3,4,5,6,7,8,9]

clonnes = ['A','B','C','D','E','F','G','H','I']

grille_debut = [['','','|',1,'',2,'',3,'',4,'',5,'',6,'',7,'',8,'',9],

['','','|','-','','-','','-','','-','','-','','-','','-','','-','','-',],

['A','|','o','','o','','o','','o','','o','','o','','o','','o','','o'],

['B','|','o','','o','','o','','o','','o','','o','','o','','o','','o'],

['C','|','o','','o','','o','','o','','o','','o','','o','','o','','o'],

['D','|','','','','','','','','','','','','','','','','',''],

['E','|','','','','','','','','','','','','','','','','',''],

['F','|','','','','','','','','','','','','','','','','','',],

['G','|','x','','x','','x','','x','','x','','x','','x','','x','','x'],

['H','|','x','','x','','x','','x','','x','','x','','x','','x','','x',],

["I",'|','x','','x','','x','','x','','x','','x','','x','','x','','x',]]



def affichage_grille_debut(grille_debut):

for i in range(len(grille_debut)):

for j in range(len(grille_debut[i])):

print(grille_debut[i][j], end=' ')

print()

print(affichage_grille_debut(grille_debut))

print(ord('A'))
print(chr(65))
print([row[0] for row in grille_debut])

def convertir(grille_debut):

for i in [row[0] for row in grille_debut[2:]]:

print(ord(i))

print(convertir(grille_debut))

def saisir_cordonner(grille_debut, elem):



if elem in range(grille_debut):

print("cette coordonner est dans le tableau")

else:

print("cette coordonner n'est pas dans le tableau")

print(saisir_cordonner(grille_debut,(6,3)))





A voir également:

2 réponses

jee pee Messages postés 39632 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 avril 2024 9 234
Modifié le 20 févr. 2021 à 17:47
Bonjour,

Pour l'affichage du code, il faut choisir "python" dans la liste de valeur pour avoir une coloration syntaxique.

#python
from math import *

lignes = [1,2,3,4,5,6,7,8,9]
clonnes = ['A','B','C','D','E','F','G','H','I']
grille_debut = [['','','|',1,'',2,'',3,'',4,'',5,'',6,'',7,'',8,'',9], 


Après pour ton exercice, moi je ferais juste une grille 9X9 avec les cases du damier. Puis une fonction d'affichage qui rajoute les intitulés lignes/colonnes à l'écran.

Ainsi quand tu testes si la position en réponse est dans la grille, tu n'a qu'à tester <=9 pour chacune des 2 valeurs. Et après pour cibler une case ce sera
grille[l][c]


Car ton
 if elem in range(grille_debut):
n'a pas de sens, il faudrait regarder
elem[0] par rapport à len(grille_debut) et elem[1] par rapport à len(grille_debut[elem[0]]), mais cela s'il n'y avait que des cases du damier dans ton tableau, pas les blancs de séparation et les titres lignes colonnes

Enfin quand tu utilises un print exécutant une fonction, il faudrait que la fonction retourne une valeur (avec l'instruction return xxx) car sinon le print va donner
None


Pour seulement exécuter la fonction, ne pas faire
print(affichage_grille_debut(grille_debut))
mais juste
affichage_grille_debut(grille_debut)



0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
20 févr. 2021 à 18:00
Bonjour,

je n'ai le droit à aucune librairie

D'abord, c'est bibliothèque, pas librairie (library en anglais = bibliothèque)

Tu n'y a pas droit mais tu importes quand même la bibliothèque math ?
0
KaMa1712 Messages postés 2 Date d'inscription samedi 20 février 2021 Statut Membre Dernière intervention 20 février 2021
20 févr. 2021 à 18:54
oui juste cettebibliothèque la
0