Probleme d'affichage

Fermé
tom - 1 nov. 2020 à 11:30
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 2 nov. 2020 à 17:42
Bonjour,

je souhaite afficher la liste suivante
L = [1, 2, 2, 3, 3, 3, ..., 7, 7, 7, 7, 7, 7, 7, ..., 10, 10].
Je n'arrive pas a l'afficher dans une seule et meme ligne :
for i in list(range(1,11)):
L=[i]*i
print(L)
ceci m'affiche:
[1]
[2, 2]
[3, 3, 3]
[4, 4, 4, 4]
[5, 5, 5, 5, 5]
[6, 6, 6, 6, 6, 6]
[7, 7, 7, 7, 7, 7, 7]
[8, 8, 8, 8, 8, 8, 8, 8]
[9, 9, 9, 9, 9, 9, 9, 9, 9]
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10]

pourriez vous m'aidez ?
Configuration: Windows / Chrome 86.0.4240.111

5 réponses

Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
1 nov. 2020 à 11:33
Bonjour,

Déjà, tu défini une liste L:

L=[1,2,2,3,..........]


Ensuite tu la redéfinis :
for i in list(range(1,11)):
    L=[i]*i


Bizarre, non ?
1
Je ne comprends pas, si je définis comme vous le dites la liste L=[1,2,2,3,3,3....,10] je ne vois pas l'intérêt de la redéfinir, il suffit de mettre print(L) et on a la liste voulu mais je voudrais que cela marche jusqua 100 par exemple, utiliser la fonction for pour simplifier l'écriture ...
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
1 nov. 2020 à 11:43
tu n'as pas compris !

je te dis que tu as défini la liste L

et que juste après tu l'a redéfinie toi-même en faisant L=[i]*i, donc tu as écrasé la première

liste L ....

Explique clairement ce que tu veux faire avec ta liste initiale L
1
Exercice 2 :
Créer les listes suivantes en complétant les … éventuels.
On utilisera list, *, range et/ou des boucles for et éventuellement des méthodes de listes mais pas
de création directe.
a) L1 constituée de 52 zéros.
b) L2 = [82, 81, 80, 79, ..., 26, 25, 24].
c) L3 = [0, 0, 0, 2, 2, 2, 4, 4, 4, ..., 10, 10, 10].
d) L4 = [1, 2, 2, 3, 3, 3, ..., 7, 7, 7, 7, 7, 7, 7, ..., 10, 10].

Je suis rendu a la question c
Je souhaite créer un programme qui a la fin affiche la liste L3,
mais mon programme ne l'affiche pas en une seule liste mais en 10 listes différentes
Je crois que l'on ne s'est pas compris sur la consigne ... .
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
Modifié le 1 nov. 2020 à 12:13
Je ne sais pas si on s'est compris ou pas, mais ce que je te dis reste vrai

tu as défini 2 fois L

La question C me parait claire: "Créer les listes suivantes .....".....

Au départ, il n'y a pas liste

Ensuite il faut créer celle-ci toi-même avec une boucle:

L3 = [0, 0, 0, 2, 2, 2, 4, 4, 4, ..., 10, 10, 10]

"...... mais pas de création directe."

tu ne peux donc pas l'écrire dans ton code, il faut la créer "à la volée" avec une boucle

qui fait donc trois 0 puis trois 2, jusqu'a 10

et ensuite l'afficher pour contrôler le résultat

Tu vois le truc ?
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
2 nov. 2020 à 10:33
Bonjour Tom,

Alors, as-tu de la réussite ? :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
2 nov. 2020 à 17:42
Pourtant, en 4 lignes de code, la question est résolue ...
0