Bonjour à tous!!
Voila, je suis debutant en python, j'ai fais mes armes en Basic,Cobol et autres MAIS il y a 20 ans!! Bref..Voici un petit code , une espece d'ebauche de Sudoku, mais en réalité c'est plus pour se faire avec les listes.. :
colonne=1
ligne=1
liste=[]
Num_Ligne=0
from random import *
# Boucle ligne
while ligne<=9:
Num_Ligne=sample(range(1,10),9)
# Creation de la Table Num_Ligne
print (Num_Ligne,end=" ")
print (sep=" ")
liste.append(Num_Ligne)
ligne=ligne+1
print()
num=input("Entrez un numero de ligne : ")
print()
print ("La ligne est : ",liste[int(num)])
print ()
el=input("Entrez un index d'element dans la ligne : ")
print (Num_Ligne[int(el)])
Alors voila ma question : quand je demande la ligne (num), j'ai effectivement celle que j'ai demandé. En revanche, et c'est la que je n'y arrive pas, c'est pour l'element!! Si je rentre par exemple, el = 2, j'ai bien le troisieme element MAIS de la derniere ligne affichée!! Et non, celle demandée juste avant..En gros, je voudrais l'element (el) de la ligne (num)…
J'imagine que c'est tout con, mais pour le coup je suis perdu..
Merci de votre aide!!!
# presentation du code
Posté par NeoX . Évalué à 3. Dernière modification le 08 mai 2019 à 09:30.
pour coller des exemples de codes, c'est les ` qu'il faut mettre et pas les "
et il en faut 3 comme tu l'as fais
```python
ton code
```
# tableau à deux entrées
Posté par NeoX . Évalué à 6.
NB : je n'ai pas testé ton code,
au final tu dois avoir un tableau à 2 entrées, avec un numero de ligne, et un numero de colonne
ex : 9 cases = 3 lignes de 3 colonnes chacune
essaie deja d'afficher le tableau entier,
car j'ai l'impression que tu ne reviens pas à la ligne à la fin du nombre de colonne
tu aurais donc une seule ligne avec 9 valeurs dedans et si le print fait un retour à la ligne pour toi, tu as alors 18 lignes avec une seule valeur dedans
si tu as bien un tableau
A B C
D E F
G H I
et tu demandes le numero de ligne que stockes dans num
mais tu ne t'en sers que pour afficher la ligne liste[int(num)]
D E F pour la 2e lignes
il faudrait aussi t'en servir pour prendre l'element dans la ligne, par exemple :
liste[int(num][int(el)]
# Num_ligne != liste
Posté par ted (site web personnel) . Évalué à 4.
Je n'ai pas testé ton code, mais je crois que tu devrais remplacer:
par:
car Num_Ligne est un tableau à 1 dimension, il contient toujours la dernière ligne: ce que tu as mis dedans en dernier. C'est le tableau liste qui contient toutes les lignes dans un tableau de tableaux (deux dimensions).
Un LUG en Lorraine : https://enunclic-cappel.fr
[^] # Re: Num_ligne != liste
Posté par lolop (site web personnel) . Évalué à 6. Dernière modification le 08 mai 2019 à 13:21.
Un outil en ligne sympa pour apprendre en voyant les données telles qu'elles sont stockées par Python: PythonTutor. Ça peut se faire tourner en local, mais le plus simple est d'utiliser l'outil en ligne, copier/coller ton code puis le faire exécuter en pas à pas pour voir ce qui est manipulé.
Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.