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 :

Aide Numérisation Shadock


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 95
    Par défaut Aide Numérisation Shadock
    Bonjour,

    Je suis nouveau dans le forum donc si je ne formule pas convenablement mon aide rappelez le moi !

    Alors je vous sollicite aujourd'hui car j'aurai besoin d'aide sur un travail que notre professeur nous a donné :

    Deux programmes, écrits en Python, sont demandés :

    1. Le premier permettra de convertir un nombre entier décimal en nombre Shadok. L’interface demandera
    à l’utilisateur d’entrer un nombre décimal et le programme retournera, dans la console,
    une chaine de caractère représentant le nombre.
    Par exemple, si l’utilisateur entre le nombre 123, la console retournera BU MEU ZO MEU.

    2. Le second permettra de convertir un nombre Shadok en nombre décimal. L’utilisateur entrera une
    chaîne de caractères contenant les chiffres Shadok et le programme retournera dans la console le
    nombre décimal correspondant.
    Par exemple, si l’utilisateur saisit BU GA GA ZO MEU, le programme retournera 267.


    Comme je viens à peine de commencer le travail, je suis bloqué au niveau du premier programme :

    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
    from math import*
     
    nombre = int(input())
    r = 0
    x = 1
     
    while x!= 0:
        x = nombre // 4
        r = nombre % 4
     
        if r == 0 :
            print("BU", end = " ")
        if r == 1 :
            print("GA", end = " ")
        if r == 2 :
            print("ZO", end = " ")
        if r == 3 :
            print("MEU", end = " ")
    Quand j'exécute ce programme, il y a une multitudes de "MEU" qui s'affichent sans fin.

    N'importe qu'elle piste pourrait m'aider !

    Merci bien !

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Tu as déjà vu les objets python tels que list ou tuple ? Si oui, il serait bon de les utiliser...

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 95
    Par défaut
    Ah non du tout, le prof nous a donné un site où on s'entraînait mais, je n'ai jamais vu ça.
    Et le prof ne nous a jamais parler de ça non plus.

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Ah si tu savais le nombre d'élèves m'ayant déjà dis ça

    Trêve de plaisanterie, quel est ce site ? Es-tu sûr qu'on en parle pas ? Ça me paraît bien louche cette histoire...

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 95
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Ah si tu savais le nombre d'élèves m'ayant déjà dis ça

    Trêve de plaisanterie, quel est ce site ? Es-tu sûr qu'on en parle pas ? Ça me paraît bien louche cette histoire...
    Je pense que vous connaissez, c'est le site France ioi, et non pour l'instant je n'ai pas rencontrer de terme tel quel

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 95
    Par défaut
    Citation Envoyé par fred1599 Voir le message
    Tu as déjà vu les objets python tels que list ou tuple ? Si oui, il serait bon de les utiliser...
    Re bonjour !

    Alors j'ai fait des recherches sur les objets list et tuple que vous m'avez dit d'utiliser tout à l'heure.
    J'ai compris l'utilisation de l'objet list mais pour ce qui est du tuple, je n'arriev pas à comprendre son utilité.

    Pourriez vous me l'expliquer s'il vous plait ?

    Mercii

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

    Citation Envoyé par Iloyd Voir le message
    Quand j'exécute ce programme, il y a une multitudes de "MEU" qui s'affichent sans fin.
    La sortie de la boucle dépend de la valeur de x.
    Et si en entrée x == 1, a chaque itération il vaut nombre // 4 et comme nombre n'est jamais mis à jour: çà boucle. Pour le reste, çà serait bien de revoir comment convertir un nombre décimal en base 4.... car c'est cela qu'on vous demande de coder...(et ce n'est pas du Python mais des maths).

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

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 95
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    La sortie de la boucle dépend de la valeur de x.
    Et si en entrée x == 1, a chaque itération il vaut nombre // 4 et comme nombre n'est jamais mis à jour: çà boucle. Pour le reste, çà serait bien de revoir comment convertir un nombre décimal en base 4.... car c'est cela qu'on vous demande de coder...(et ce n'est pas du Python mais des maths).

    - W
    Donc je dois affecter pour la variable 'nombre' la valeur de 'x' ?


  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par Iloyd Voir le message
    Donc je dois affecter pour la variable 'nombre' la valeur de 'x' ?

    Et si vous essayez pour voir?
    La machine ne vous mordra pas.
    Au pire, elle affichera autre chose que ce que vous attendez.
    Il faudra alors essayer de comprendre ce qu'il se passe et corriger.

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

  10. #10
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 95
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Et si vous essayez pour voir?
    La machine ne vous mordra pas.
    Au pire, elle affichera autre chose que ce que vous attendez.
    Il faudra alors essayer de comprendre ce qu'il se passe et corriger.

    - W
    Alors si je reprends le code, en y y ajoutant la variable :

    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
    from math import*
     
    nombre = 123
    r = 0
    x = 1
     
    while x!= 0:
        x = nombre // 4
        r = nombre % 4
     
        if r == 0 :
            print("BU", end = " ")
        if r == 1 :
            print("GA", end = " ")
        if r == 2 :
            print("ZO", end = " ")
        if r == 3 :
            print("MEU", end = " ")
        nombre = x
    J'ai bien un changement ! Et ça m'affiche :

    MEU ZO MEU GA au lieu de BU MEU ZO MEU

    Je me suis dis qu'il fallait peut être changer l'ordre des conditions.. mais je trouve pas ça logique..

  11. #11
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par Iloyd Voir le message
    MEU ZO MEU GA au lieu de BU MEU ZO MEU

    Je me suis dis qu'il fallait peut être changer l'ordre des conditions.. mais je trouve pas ça logique..
    Ben de toutes façons, vous devez commencer par faire un changement en base 4 pour trouver à quoi correspondent les GA BU ZO MEU (et accessoirement gérer l'inversion des digits).
    Et comme le seul intérêt de ce genre d'exercice est dans tout ce que vous allez découvrir en essayant de le mettre au point, vous donnez une solution n'a pas de sens.

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

  12. #12
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2017
    Messages : 29
    Par défaut
    Citation Envoyé par Iloyd Voir le message
    Alors si je reprends le code, en y y ajoutant la variable :

    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
    from math import*
     
    nombre = 123
    r = 0
    x = 1
     
    while x!= 0:
        x = nombre // 4
        r = nombre % 4
     
        if r == 0 :
            print("BU", end = " ")
        if r == 1 :
            print("GA", end = " ")
        if r == 2 :
            print("ZO", end = " ")
        if r == 3 :
            print("MEU", end = " ")
        nombre = x
    J'ai bien un changement ! Et ça m'affiche :

    MEU ZO MEU GA au lieu de BU MEU ZO MEU

    Je me suis dis qu'il fallait peut être changer l'ordre des conditions.. mais je trouve pas ça logique..
    L'ordre des condition ne changera pas ton problème, cepandant, je te conseille décrire cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if r==0 :
        action1
    elif r==1 :
       action2
    elif r==2 :
      action3
    elif r==3 :
      action4
    else :
       inaction

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

Discussions similaires

  1. Aide pour Projet Numérisation
    Par noizecore dans le forum Windows
    Réponses: 4
    Dernier message: 17/03/2011, 14h19
  2. Ajouter une aide
    Par Mailgifson dans le forum C++Builder
    Réponses: 5
    Dernier message: 12/06/2002, 13h32
  3. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05
  4. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

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