Exercice de programmation en python / Listes
Makikpo
-
dachiasse Messages postés 1709 Date d'inscription Statut Membre Dernière intervention -
dachiasse Messages postés 1709 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je dois faire un exercice de programmation en python, mais je ne comprend pas où se trouve on erreur.
L'exercice est le suivant :
Nous avons la liste suivante :
liste = [1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0]
et nous devons créer une fonction telle que le renvoi de cette fonction donne :
[[1,0,1,1,0],[0,0,0,1,0],[0,0,0,0,0,1],[1,0,0,0,0],[0,0,0,0,0]]
Soit des listes de listes dans lesquelles on a 5 éléments pour chaque.
Mon problème étant que nous n'avons pas le droit d'utiliser l'écriture [:5]
(ou tout autre chiffre)
Voici le code que j'ai déjà fait :
La fonction List doit obligatoirement appeler que ces deux caractères.
Merci de votre aide
Je dois faire un exercice de programmation en python, mais je ne comprend pas où se trouve on erreur.
L'exercice est le suivant :
Nous avons la liste suivante :
liste = [1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0]
et nous devons créer une fonction telle que le renvoi de cette fonction donne :
[[1,0,1,1,0],[0,0,0,1,0],[0,0,0,0,0,1],[1,0,0,0,0],[0,0,0,0,0]]
Soit des listes de listes dans lesquelles on a 5 éléments pour chaque.
Mon problème étant que nous n'avons pas le droit d'utiliser l'écriture [:5]
(ou tout autre chiffre)
Voici le code que j'ai déjà fait :
def List (l, n): JuyList = [] for k in range (n): for k in range (0, len(l)): JuyList.append([l[k]]) return JuyList l = [1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0] print(List(l, 5))
La fonction List doit obligatoirement appeler que ces deux caractères.
Merci de votre aide
A voir également:
- Exercice de programmation en python / Listes
- Citizen code python avis - Accueil - Outils
- Application de programmation - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante de choix excel - Guide
- Python est introuvable. exúcutez sans argument pour procúder ó l - Forum Python
4 réponses
Bonjour,
Déjà tu as 2 boucles qui utilisent le même indice k , même si cela fonctionne, cela gène la lecture ;-)
Après tu pourrais utiliser le pas d'incrémentation de la fonction range() qui permettrait d'avancer de n en n
Déjà tu as 2 boucles qui utilisent le même indice k , même si cela fonctionne, cela gène la lecture ;-)
Après tu pourrais utiliser le pas d'incrémentation de la fonction range() qui permettrait d'avancer de n en n
Je viens de retravailler mon code. Je reçois bien l'affichage que je veux, mais les valeurs contenues dedans ne sont pas justes. Pourquoi ?
Voici le code:
Voici le code:
def List (l, n): JuyList = [] for k in range (0, len(l), n): JuyList.append([l[k]]*n) return JuyList l = [1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0] print(List(l, 5))
J'ai essayé de suivre vos instructions mais j'ai maintenant un problème de range :
def List (l, n): NewList = [] for i in range (n): for v in range (0, n): NewList.append(l[v]) del(l[0]) return NewList l = [1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0] print(List(l, 5))
là tu es reparti sur ton code de départ
voila de quoi avancer par bloc, mais dans la boucle i il faut une variable intermédiaire pour creer le regroupement par bloc de n qui sera ajouté à chaque tour à NewList
voila de quoi avancer par bloc, mais dans la boucle i il faut une variable intermédiaire pour creer le regroupement par bloc de n qui sera ajouté à chaque tour à NewList
def List (l, n): NewList = [] for i in range (0, len(l)-1, n): for v in range (0, n): NewList.append(l[i+v]) return NewList l = [1,0,1,1,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0] print(List(l, 5))
Salut,
Ta description en premier message n'est pas cohérente. Tu as un bloc de 6 éléments au lieu de 5 : et nous devons créer une fonction telle que le renvoi de cette fonction donne :
[[1,0,1,1,0],[0,0,0,1,0],[0,0,0,0,0,1],[1,0,0,0,0],[0,0,0,0,0]]
Je n'ai pas essayé tes codes. J'ai fait autrement. Difficile de t'aider, mais, un indice : pense à faire une liste temporaire qui peut avoir jusqu'à 5 éléments maximum.
Je n'ai aucunement utilisé la fonction range(). Ça fonctionne très bien.
Ta description en premier message n'est pas cohérente. Tu as un bloc de 6 éléments au lieu de 5 : et nous devons créer une fonction telle que le renvoi de cette fonction donne :
[[1,0,1,1,0],[0,0,0,1,0],[0,0,0,0,0,1],[1,0,0,0,0],[0,0,0,0,0]]
Je n'ai pas essayé tes codes. J'ai fait autrement. Difficile de t'aider, mais, un indice : pense à faire une liste temporaire qui peut avoir jusqu'à 5 éléments maximum.
Je n'ai aucunement utilisé la fonction range(). Ça fonctionne très bien.