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 :

Pyramide exercice débutant


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Pyramide exercice débutant
    Bonjour, dans le cadre de mon cours on nous a posé un problème à savoir celui de former une pyramide de la forme de celle du screenshot 1, je parviens avec mon code (screenshot2) à générer une pyramide avec effet miroir mais je ne parviens pas à adapter les nombres correctement est-ce que quelqu'un pourrait me donner UNE PISTE pour la résolution de ce problème par rapport à mon code svp?
    Nom : Capt1.png
Affichages : 103
Taille : 80,4 KoNom : Capt2.png
Affichages : 99
Taille : 31,3 Ko

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 379
    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 379
    Points : 36 923
    Points
    36 923
    Par défaut
    SAlut,

    Citation Envoyé par WizzyK Voir le message
    est-ce que quelqu'un pourrait me donner UNE PISTE pour la résolution de ce problème par rapport à mon code svp?
    Vous avez commencé à coder sans avoir une idée précise de comment fabriquer ce qu'on vous demande!
    Regardez la pyramide, à la ligne n, il y a z = 2*(n-1)+1 chiffres.... qui sert aussi a fixer la valeur du "milieu".
    Et il y a une petite difficulté pour n >= 6 qui pourra faire l'objet d'une autre question.

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

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je conceptualise assez bien ce qu'il faut faire sur papier mais je n'arrive pas à utiliser les boucles correctement en effet, pour dire vrai je suis complètement perdu même le résultat trouvé dans le screenshot a été trouvé par tâtonnements ...

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 379
    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 379
    Points : 36 923
    Points
    36 923
    Par défaut
    Citation Envoyé par WizzyK Voir le message
    mais je n'arrive pas à utiliser les boucles correctement en effet, pour dire vrai je suis complètement perdu même le résultat trouvé dans le screenshot a été trouvé par tâtonnements ...
    C'est un sujet de boucles imbriquées.
    Commencez par la boucle interne (ou la boucle externe), vous avez écrit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for i in range(1, n+1, 2):
          ...
    Que représente ce i par rapport au problème posé?

    Par contre si j'écris:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i in range(n):
        j = 2*i+1
        print (i+1, j)
    ça affiche n lignes numérotées de 1 à 10 avec le nombre de chiffres à écrire.

    La boucle interne devra se baser sur i, j (et n) pour faire le boulot qu'on attend d'elle.

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

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 729
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 729
    Points : 31 052
    Points
    31 052
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par WizzyK Voir le message
    Je conceptualise assez bien ce qu'il faut faire sur papier mais je n'arrive pas à utiliser les boucles correctement
    Si je lis bien ton code, tu commences par boucler à l'horizontale (donc tu commences par la boucle qui affiche la ligne) et à chaque valeur tu boucles à la verticale.
    Bref tu affiches le résultat colonne par colonne. Ca peut probablement se coder (ça reste un problème fini) mais ça va être galère. Moi je serais parti à afficher ligne par ligne.
    Et pour le reste, si tu veux qu'on t'aide, commence par poster un code (un truc qu'on peut copier/coller) et non une image peu utilisable (c'est d'ailleurs mentionné dans les règles).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    Si je lis bien ton code, tu commences par boucler à l'horizontale (donc tu commences par la boucle qui affiche la ligne) et à chaque valeur tu boucles à la verticale.
    Bref tu affiches le résultat colonne par colonne. Ca peut probablement se coder (ça reste un problème fini) mais ça va être galère. Moi je serais parti à afficher ligne par ligne.
    Et pour le reste, si tu veux qu'on t'aide, commence par poster un code (un truc qu'on peut copier/coller) et non une image peu utilisable (c'est d'ailleurs mentionné dans les règles).
    Toutes mes excuses,

    en effet c'est ce que j'avais en tête, pour répondre à Wiz, le i par rapport au problème représente la ligne ou du moins c'est ce que j'ai essayé de traduire lorsque i vaut 1 on commence par les espaces puis par les chiffres à afficher, lorsque i vaut 2 on suit la même logique sur la 2ème ligne mais avec un pas de 2 puisque il y'a un nombre impair de chiffres et que je souhaite dans ma boucle imbriqué invoquer i pour représenter à chaque fois un nombre impair de chiffres correspondant à la ième ligne.

    J'ai trouvé une solution et la décortique ce qui n'est pas du tout la meilleure forme d'apprentissage mais je calais dessus depuis un bon moment, j'ai beaucoup de mal à traduire le concept suivant :
    i ème ligne ===> 2(i-1) + 1 colonnes ===> commence par le j ème chiffre vous aurez compris dans la dernière implication que je ne sais pas trop comment placer mon j pour que la boucle suive les deux premières.

    Vient ensuite le problème du "miroir" autour de la valeure centrale de la ième ligne, j'ai tenté un if statement mais les corrections sur lesquelles je suis tombé n'embrayent pas du tout de ce côté là j'ai réalisé mon erreur en comprenant que rien ne m'oblige à considérer les lignes comme "entières" je peux en effet remplir une ligne en 2 étape distinctes.

    Lors de ma mise en situation du problème devrais-je me focaliser sur la colonne centrale ? Dans le sens où j'ai l'impression que c'est l'élément qui conditionne tout le problème, incrément positif à gauche négatif à droite, ième ligne contient 2(i-1) + 1 chiffres ...

Discussions similaires

  1. [VB6] Exercice de Combinatoire
    Par fichtre! dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 19/01/2005, 14h27
  2. Un cours de C/C++ avec exercices corrigés
    Par merrheim dans le forum C++
    Réponses: 65
    Dernier message: 18/01/2005, 22h30
  3. Demande de corrections d'exercices Turbo Pascal
    Par Helpine dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 16/01/2005, 10h38
  4. Pages d'exercices à faire pour l'autoformation ?
    Par [thebadskull] dans le forum Evolutions du club
    Réponses: 13
    Dernier message: 15/06/2004, 20h26
  5. Pouvez vous m'aider a resoudres ces 3 exercices
    Par algorithmique dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 09/08/2002, 17h26

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