Créer un module
Résolu
qwerty_azerty
Messages postés
6
Statut
Membre
-
jisisv Messages postés 3678 Statut Modérateur -
jisisv Messages postés 3678 Statut Modérateur -
bonjour,
pour un DM en ISN je dois générer un module de 5 lignes et 5 colonnes avec des 0 ou 1 aléatoirement. Puis le créer un algorithme qui repère combien de fois trois 1 sont alignés horizontalement, verticalement et en diagonale.
par exemple sur une ligne : [0,1,1,1,0] on comptera 1
pour l'instant voila ce que j'ai fais:
mais lla variable nb_align_h reste toujours à 0, je pense que le problème est au niveau de iet de j
Merci pour votre réponse
pour un DM en ISN je dois générer un module de 5 lignes et 5 colonnes avec des 0 ou 1 aléatoirement. Puis le créer un algorithme qui repère combien de fois trois 1 sont alignés horizontalement, verticalement et en diagonale.
par exemple sur une ligne : [0,1,1,1,0] on comptera 1
pour l'instant voila ce que j'ai fais:
from random import randint
L=[[randint(0,1) for i in range(5)]for j in range(5)]
for ligne in L:
print(ligne)
nb_align_h=0
for i in range(0) :
for j in range (0) :
if ligne[i][j]+ligne[i][j+1]+ligne[i][j+2]==3:
nb_align_h=nb_align_h+1
for i in range(1) :
for j in range (0) :
if ligne[i][j]+ligne[i][j+1]+ligne[i][j+2]==3:
nb_align_h=nb_align_h+1
for i in range(2) :
for j in range (0) :
if ligne[i][j]+ligne[i][j+1]+ligne[i][j+2]==3:
nb_align_h=nb_align_h+1
for i in range(3) :
for j in range (0) :
if ligne[i][j]+ligne[i][j+1]+ligne[i][j+2]==3:
nb_align_h=nb_align_h+1
for i in range(4) :
for j in range (0) :
if ligne[i][j]+ligne[i][j+1]+ligne[i][j+2]==3:
nb_align_h=nb_align_h+1
for j in range(0) :
for i in range (0) :
if ligne[i][j]+ligne[i+1][j]+ligne[i+2][j]==3:
nb_align_h=nb_align_h+1
for j in range(1) :
for i in range (0) :
if ligne[i][j]+ligne[i+1][j]+ligne[i+2][j]==3:
nb_align_h=nb_align_h+1
for j in range(2) :
for i in range (0) :
if ligne[i][j]+ligne[i+1][j]+ligne[i+2][j]==3:
nb_align_h=nb_align_h+1
for j in range(3) :
for i in range (0) :
if ligne[i][j]+ligne[i+1][j]+ligne[i+2][j]==3:
nb_align_h=nb_align_h+1
for j in range(4) :
for i in range (0) :
if ligne[i][j]+ligne[i+1][j]+ligne[i+2][j]==3:
nb_align_h=nb_align_h+1
print(nb_align_h)
mais lla variable nb_align_h reste toujours à 0, je pense que le problème est au niveau de iet de j
Merci pour votre réponse
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Créer un module
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
- Creer un fichier .bat - Guide
2 réponses
Bonjour
Deux remarques:
1- range(0) retoune [] donc tu ne rentres dans aucune de tes boucles...
2- ligne n'est pas la bonne variable pour désigner le contenu de ton module de 5 lignes sur 5 colonnes
Bonnes Fêtes de Fin d'Année
Ritchi
Deux remarques:
1- range(0) retoune [] donc tu ne rentres dans aucune de tes boucles...
2- ligne n'est pas la bonne variable pour désigner le contenu de ton module de 5 lignes sur 5 colonnes
Bonnes Fêtes de Fin d'Année
Ritchi
Bonnes Fêtes de Fin d'Année !
Voici de quoi faire les vérifications horizontales, verticales et horizontales pour chercher trois 1 consécutifs.
from random import randint L = [[randint(0, 1) for i in range(5)] for j in range(5)] for ligne in L: print(ligne) nb_align_h = 0 nb_align_v = 0 nb_align_d1 = 0 nb_align_d2 = 0 # check horizontal: for i in range(5): for j in range(0,3): if L[i][j] + L[i][j+1] + L[i][j+2] == 3: print("Trois 1 en i=%s j=%s (horizontal)" %( i, j)) nb_align_h = nb_align_h + 1 # check vertical: for i in range(0,3): for j in range(5): if L[i][j] + L[i+1][j] + L[i+2][j] == 3: print("Trois 1 en i=%s j=%s (vertical)" %( i, j)) nb_align_v = nb_align_v + 1 # check diagonal gauche vers droite: for i in range(0,3): for j in range(0,3): if L[i][j] + L[i+1][j+1] + L[i+2][j+2] == 3: print("Trois 1 en i=%s j=%s (horizontale 1)" %( i, j)) nb_align_d1 = nb_align_d1 + 1 # check diagonal droite vers gauche: for i in range(0,3): for j in range(2,5): if L[i][j] + L[i+1][j-1] + L[i+2][j-2] == 3: print("Trois 1 en i=%s j=%s (horizontale 2)" %( i, j)) nb_align_d2 = nb_align_d2 + 1 print("\nIl y a :") print("- %s combinaisons avec trois 1 en horizontal" % (nb_align_h)) print("- %s combinaisons avec trois 1 en vertical" % (nb_align_v)) print("- %s combinaisons avec trois 1 en diagonal 1" % (nb_align_d1)) print("- %s combinaisons avec trois 1 en diagonal 2" % (nb_align_d2))Voici un exemple de résultat affiché:
Bonnes Fêtes de Fin d'Année
Ritchi