IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

[Python 3.X] Pb range et liste


Sujet :

Python

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 113
    Points
    113
    Par défaut [Python 3.X] Pb range et liste
    Bonjour,

    Je ne comprend pas pourquoi j'obtiens cette différence entre les 2 codes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    from random import *
     
    def list_aleat(n):
        s = [0]*n
        print(s)
        for i in s:
            s[i] =random()
        return s
     
    print(list_aleat(3))
    Et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    from random import *
     
    def list_aleat(n):
        s = [0]*n
        print(s)
        for i in range(n):
            s[i] =random()
        return s
     
    print(list_aleat(3))

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Ajoutez "print (i)" dans le corps de votre boucle "for".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien
    Inscrit en
    Février 2010
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2010
    Messages : 59
    Points : 113
    Points
    113
    Par défaut
    Merci.
    J'ai du mal à assimiler la fonction range().

  4. #4
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Ajoutez "print (i)" dans le corps de votre boucle "for".

    - W

    Bonjour,
    Merci pour ce conseil.
    J'ai rassemblé les 2 fonctions précédentes ainsi qu'une troisième.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    from random import *
     
    def list_aleat1(n):
        s = [0]*n
        print(s)
        for i in s:
            s[i] =random()
            print(s[i])
        return s
     
    print(list_aleat1(3))
     
    print()
     
    def list_aleat2(n):
        s = [0]*n
        print(s)
        for i in range(n):
            s[i] =random()
            print(s[i])
        return s
     
    print(list_aleat2(3))
     
    print()
     
    def list_aleat3(n):
        s=[]
        print(s)
        for i in range(n):
            s.append(random())
        return(s)
    On obtient cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    [0, 0, 0]
    0.016904411274280995
    0.19307741213256502
    0.2192103058683158
    [0.2192103058683158, 0, 0]
     
    [0, 0, 0]
    0.15837206726220976
    0.5610217743961748
    0.892592283537326
    [0.15837206726220976, 0.5610217743961748, 0.892592283537326]
     
    []
    [0.6698495285956226, 0.5207690506982452, 0.23122476552208748]
    Personnellement, j'utilise plutôt la troisième fonction.
    Cependant, je ne comprends pas ce que fait la première. Tu pourrais développer un peu, si tu as le temps ?
    Pas d'aide par mp.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Citation Envoyé par marco056 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    def list_aleat1(n):
        s = [0]*n
        print(s)
        for i in s:
            s[i] =random()
            print(s[i])
        return s
    Bonsoir,
    Dans la première:

    "for i in s"
    La variable "i" prend tour à tour chacune des valeurs de la liste "s".
    Quelles sont ces valeurs (de "i")?

    Là, pour bien comprendre, je pense qu'il est nécessaire de faire ce qu'a conseillé wiztricks que vous avec remercié, mais conseil que vous n'avez pas suivi!

    Clodion

  6. #6
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Citation Envoyé par Clodion Voir le message
    Bonsoir,
    Dans la première:

    "for i in s"
    La variable "i" prend tour à tour chacune des valeurs de la liste "s".
    Quelles sont ces valeurs (de "i")?

    Là, pour bien comprendre, je pense qu'il est nécessaire de faire ce qu'a conseillé wiztricks que vous avec remercié, mais conseil que vous n'avez pas suivi!

    Clodion
    Ben oui : évidemment !
    Merci et désolé...
    Pas d'aide par mp.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur Python : list index out of range
    Par mmmppp dans le forum Général Python
    Réponses: 4
    Dernier message: 15/10/2011, 21h59
  2. Que choisir pour une application de "gestion d'une todo liste" ? Python ou Java ?
    Par Yoshidu62 dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 10/08/2007, 09h03
  3. Supprimer les doubles d'une liste en python
    Par Sebcaen dans le forum Général Python
    Réponses: 2
    Dernier message: 22/10/2006, 18h41
  4. list index out of range
    Par watcha2020 dans le forum Général Python
    Réponses: 2
    Dernier message: 29/06/2006, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo