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 :

listes et intervalles


Sujet :

Python

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 31
    Par défaut listes et intervalles
    Bonjour ,

    Je fais un exercice sur les listes et je suis bloquer , j'aurais besoin d'un peu d'aide , merci d'avance

    Alors voila je dois écrire une fonction qui reçoit 2 valeurs , un minimum et un maximum . Et qui renvoi une liste L qui définit n intervalle de tailles égales entre le min et le max . Un intervalle est définit comme cela : [ L[i],L[i+1]]

    J'ai essayer plusieurs choses mais sans succés

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    def intervalle():
        mini=int(input("entrez une valeur minimum"))
        maxi=int(input("entrez une valeur maximum"))
        if mini>maxi:
            return "erreur"
            exit()
        else:
            n=int(input("entrez le nombre d'intervalles"))
            L=[]
            for i in range(mini,maxi):
                x=int(maxi/n)
                return [L[i],L[i+x]]

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Salut,

    Citation Envoyé par Lyly321 Voir le message
    Alors voila je dois écrire une fonction qui reçoit 2 valeurs , un minimum et un maximum . Et qui renvoi une liste L qui définit n intervalle de tailles égales entre le min et le max . Un intervalle est définit comme cela : [ L[i],L[i+1]]
    Si L est vide, L[i] va planter à tous les coups.
    De plus si vous écrivez "n intervalle de tailles égales entre le min et le max"...
    Il faudrait quand même définir "n"...

    Si ce que vous racontez en français n'est pas compréhensible, on ne va pas pouvoir vous aider...

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

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 31
    Par défaut
    La liste dois être vide au début .
    Puis n est definit , il represente le nombre d'intervalles . Et il faut n intervalles qui soient de tailles égales mais ne depassant pas la valeur max .
    Je sais pas si vous voyez où je veux en venir :/

    Merci

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Citation Envoyé par Lyly321 Voir le message
    La liste dois être vide au début .
    Puis n est definit , il represente le nombre d'intervalles . Et il faut n intervalles qui soient de tailles égales mais ne depassant pas la valeur max .
    Si la liste est vide, vous y mettez quoi dedans?
    A quoi doit-elle ressembler à la sortie de la fonction?
    Cà serait bien de commencer par un exemple disant pour ces valeurs de min, max et n, en sortie, la liste devrait contenir...


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

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 31
    Par défaut
    Par exemple si min=4 et max=8 et n=2
    Je veux donc que ma liste contienne 2 intervalle de tailles egales entre le min et le max , soit : L=[[4,6],[6,8]] , mes deux intervalles sont de tailles egales

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Citation Envoyé par Lyly321 Voir le message
    Par exemple si min=4 et max=8 et n=2
    Je veux donc que ma liste contienne 2 intervalle de tailles egales entre le min et le max , soit : L=[[4,6],[6,8]] , mes deux intervalles sont de tailles egales
    Certes mais [ [4, 5, 6], [6, 7, 8]] fonctionnerait aussi.
    De même que [ [4, 5], [7, 8]]... ou encore [ [4], [8] ]
    Et s'ils ne sont pas tous bons quels sont les critères qui permettront de choisir?

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

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 31
    Par défaut
    Ah oui en effet j'avais pas penser a ça .. bah je veux que le premier terme de mon intervalle soit mon min et le dernier du dernier intervalle soit mon max et que tout les nombres compris entre le min et le max soit dans mes intervalle . Par exemple je veux pas [[4],[8]] mais je veux [[4,5,6][6,7,8]] , quand j'avais marquer [[4,6][6,8]] je parler de cet intervalle la : [[4,5,6][6,7,8]]

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Vous êtes sûr que vos intervalles puissent ne pas être disjoints? Que fait le 6 dans les deux intervalles?
    Ca donnerait quoi avec d'autres exemples n = 3?

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

  9. #9
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 31
    Par défaut
    Ils peuvent ne pas etre disjoint mais ils ne serons pas egaux je pense ..
    Bah si n=3 et que je garde les memes valeurs du min et du max sa donnerai [[4,5][5,6][6,8]]
    3 intervalles de tailles egales compris entre le min et le max

  10. #10
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Citation Envoyé par Lyly321 Voir le message
    Ils peuvent ne pas etre disjoint mais ils ne serons pas egaux je pense ..
    Bah si n=3 et que je garde les memes valeurs du min et du max sa donnerai [[4,5][5,6][6,8]]
    3 intervalles de tailles egales compris entre le min et le max
    Essayez de trouver des valeurs moins simples genre min = 4, max = 9 et n = 3.
    Le but du jeu est de découvrir ce que vous voulez avant de partir à programmer un truc supposé le construire automatiquement.

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

  11. #11
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 31
    Par défaut
    Avec ces valeurs j'obtiendrais la liste : L=[[4,5][6,7][8,9]] certes la ils ne sont pas disjoint car il est possible qu'ils ne le soient pas avec ces valeurs la ..

  12. #12
    Membre éclairé
    Homme Profil pro
    Cocher moderne
    Inscrit en
    Septembre 2006
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Oman

    Informations professionnelles :
    Activité : Cocher moderne

    Informations forums :
    Inscription : Septembre 2006
    Messages : 50
    Par défaut
    Bonjour,

    Si on rajoute l'hypothèse qu'il s'agit là d'un exercice donné par un professeur de mathématique - dont le programme officiel est maintenant teinté d'algorithmique, et je ne me prononcerai pas sur le bien-fondé de la chose -, on pourrait aussi comprendre que ces intervalles sont définis sur l'intervalle [Nmin, Nmax] de manière continue.

    Aussi, la sortie de la fonction pourrait prendre la forme d'une liste de listes de la forme :
    [Nmin, N0], [N0, N1], [N1, N2],... [Nn-1, Nn], [Nn, Nmax]

    Pour revenir au code et résoudre le problème, quelques questions à se poser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i in range(Nmin, Nmax):
    => combien de valeurs va prendre i, et quelles sont la plus petite et la plus grande ?
    = >Quelle valeur a x dans un cas simple après la division de Nmax par n et le "cast" en entier par int() ? Un cas simple peut être par exemple Nmin = 1, Nmax = 3, n = 2

    En espérant que ça aide !

  13. #13
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 31
    Par défaut
    Bah si min=1 et max=3 et 2 , i prendras les valeurs 1,2,et 3 .
    Donc ce que je veux c'est savoir comment faire pour créer n intervalles vide pour commencer et ensuite chercher petit à petit comment faire pour y mettre les valeurs .
    Merci

  14. #14
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    Salut,

    C'est vraiment un problème à faire donné par un prof ?
    Car si c'est le cas, hum, à part vous envoyer droit dans l'mur, je vois rien d'autres.

    Car déjà trouver une solution au problème est très ambigu comme l'a bien souligné wiztricks.

    Mais admettons, partons du fait qu'on souhaites obtenir les plus petits « groupes » de valeurs possibles, on écrit rapidement les cas possibles.

    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
    33
    34
    35
    36
    37
    38
    39
    40
    # len a pair
    a = '123456'
     
    n = 2
    t = 123, 456
     
    n = 3
    t = 12, 34, 56
     
    n = 4
    t = 12, 23, 45, 56
     
    n = 5
    t = 12, 23, 34, 45, 56
     
    n = 6
    t = 1, 2, 3, 4, 5, 6
     
    # len a impair
    a = 1234567
     
    n = 2
    t = 1234, 4567
     
    n = 3
    t = 123, 345, 567
     
    n = 4
    t = 12, 34, 45, 67
     
    n = 5 => PROBLÈME INSOLUBLE EN GROUPES DE 2
    t = 12, 23, (3,4 ou 4, 5) ?, 56, 67
    # Passage donc par groupes de 3
    t = 123, 234, 345, 456, 567
     
    n = 6
    t = 12, 23, 34, 45, 56, 67
     
    n = 7
    t = 1, 2, 3, 4, 5, 6, 7
    Déjà, les choix de valeurs dans certains cas sont très subjectifs, de plus on se confronte à des cas plus complexes comme indiqué avec n = 5.
    Donc quel est l'utilité de faire ce genre de chose, si ce n'est se casser la tête à résoudre un problème qui est à la base un non-sens ?

    Maintenant, il serait plus judicieux d'au lieu de vouloir répartir x valeurs en n parties, de répartir x valeurs en groupe de n valeurs, qui dans ce cas est bien plus simple, non sujet à ambiguïté et ayant au moins un sens.

  15. #15
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 31
    Par défaut
    Oui , c'était donner par un prof à un examen et vu que je l'avais pas réussi ce jour là j'ai voulu le refaire . La consigne exact est : ecrire une fonction qui reçoit 2 valeurs min et max et qui renvoie une liste L , définissant n intervalle de tailles égales entre min et max . [L[i],[i+1]] est un intervalle .
    J'ai peut etre mal compris la consigne ..

  16. #16
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    D'après ce que j'en comprends, on demande de faire exactement ce que fait range, mais c'est vrai que la tournure de l'énoncé n'est pas très clair.

  17. #17
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 31
    Par défaut
    Comment je peux faire pour retourner n intervalles ?

  18. #18
    Membre émérite

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    Mars 2002
    Messages
    650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2002
    Messages : 650
    Billets dans le blog
    1
    Par défaut
    Ai-je mal compris ou est-ce que ce la pourrait se traduire par :
    diviser le segment Min-Max en n parties égales dont la longueur n'est pas nécessairement un entier ?
    Si c'est cela, la réponse est assez simple mais ....

  19. #19
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 31
    Par défaut
    Vous avez bien compris mais c'est pas si simple

  20. #20
    Membre émérite

    Homme Profil pro
    linux, pascal, HTML
    Inscrit en
    Mars 2002
    Messages
    650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : linux, pascal, HTML
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2002
    Messages : 650
    Billets dans le blog
    1
    Par défaut
    On a pourtant une solution du genre
    largeur d'un intervalle
    L=(Max -Min)/n
    Si on suppose n entier
    Position du point intermédiaire k ( k, entier, variant de0 à n-1)
    p(k)=Min+K*L
    Un intervalle est défini par [p(k) p(k+1)[ intervalle semi-ouvert avec avec p(n)=Max

Discussions similaires

  1. Requête imbriquée Liste d'intervalles de dates ?
    Par clickandgo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 01/08/2011, 18h49
  2. liste d'intervalles successives
    Par MASSAKA dans le forum Langage SQL
    Réponses: 5
    Dernier message: 26/03/2010, 14h52
  3. IGrouping+une liste avec des intervalles
    Par Ishizaki dans le forum Linq
    Réponses: 2
    Dernier message: 03/02/2009, 09h33
  4. Contrôle valeurs liste déroulante sur un intervalle d'age
    Par pasc06 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/12/2008, 10h37

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