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 :

besoin d'aide cle rib


Sujet :

Python

  1. #1
    Candidat au Club
    besoin d'aide cle rib
    alors voila ca va faire un jour que je me creuse la tête et je suis très mauvais en langage informatique mais on me demande de faire un programme qui calcule la clé rib
    alors j'ai pensé à utiliser ca pour commencer mais après je suis coincé pour changer s'il y a des lettres
    merci de votre aide
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    b,g,c=(),(),()
    while len(b) !=5:
    b=input("entrer code banque")
    while len(g) !=5:
    g=input("entrer code guichet")
    while len(c) !=11:
    c=input("entrer numero compte")

  2. #2
    Expert éminent sénior
    Salut,

    Le plus important n'est peut être pas la saisie mais le calcul de la clef en fonction des valeurs saisies.
    Ce qui pourrait être une fonction prenant 3 paramètres: cb, sg, nc (les valeurs saisies) et qui applique l'algorithme de calcul après avoir remplacé les lettres par la valeur numérique à utiliser.

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

  3. #3
    Candidat au Club
    Oui je suis d’accord le seul problème c'est que je n’ai aucune idée de comment faire

  4. #4
    Expert éminent sénior
    Salut,

    Oui je suis d’accord le seul problème c que je n’ai aucune idée de comment faire


    Dans ce cas, il faut commencer par ouvrir un tuto.
    C'est là qu'on apprend les opérations de bases nécessaires comme apprendre les opérations de base: convertir une chaîne de caractère en entier, multiplier, additionner, prendre un modulo,...
    Le seul intérêt de ce genre d'exercice est de vous faire pratiquer, revoir ce que vous avez appris (dans un tuto. ou ailleurs) et trouver comment avancer par étapes.
    Par exemple, si votre soucis est juste le remplacement des lettres çà veut dire que vous êtes capable de le faire sans les remplacer... (et montrer ce que vous avez fait...)

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

  5. #5
    Candidat au Club
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    b,g,c=(),(),()
    while len(b) !=5:
        b=input("entrer code banque")
    while len(g) !=5:
        g=input("entrer code guichet")
    while len(c) !=11:
        c=input("entrer numero compte")
     
    reste = ( 89*int(b) + 15*int(g) + 3*int(c) ) % 97
    ccle = 97 - reste
    print(ccle)

  6. #6
    Expert éminent sénior
    Salut,

    Pour remplacer une lettre par une autre, vous avez la méthode .replace: b.replace('A', '1'). Ceci dit, si le but le l'exercice est de vous faire faire des boucles avec des conditions pour fabriquer une chaine de caractères à partir d'une autre... C'est pas compliqué non plus.

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

  7. #7
    Candidat au Club
    pourriez-vous montrer un exemple dans cet algo je n'arrive pas à l'utiliser
    merci d'avance pour votre aide

  8. #8
    Expert éminent sénior
    Salut,

    Citation Envoyé par antonimal59 Voir le message
    pourriez-vous montrer un exemple dans cet algo je n'arrive pas à l'utiliser
    Des exemples de .replace se trouvent sur Internet (ou dans les chapitres qui parlent des chaines de caractères de votre tuto. préféré).

    Pour le reste, si vous ne montrez pas ce que vous avez essayé et la difficulté que vous rencontrez...

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

  9. #9
    Expert éminent sénior
    Bonjour
    Citation Envoyé par antonimal59 Voir le message
    pourriez-vous montrer un exemple dans cet algo je n'arrive pas à l'utiliser
    Ben je ne vois pas trop en quoi il est nécessaire d'utiliser du str.replace() ici. Un compte bancaire ce ne sont que des chiffres et donc il n'y a aucune lettre à remplacer. Et d'après ce que je vois, ton algo semble correct (en tout cas, la formule a fonctionné pour mon compte).
    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

  10. #10
    Expert éminent
    Bonjour,

    Tu n'es pas loin du but: la 1ère ligne n'est pas bonne puisque b,g,c sont des chaines de caractères ("999") et non des tuples. Il suffit donc de faire:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    b,g,c="", "", ""


    Le reste donne un résultat correct, à condition de respecter l'indentation:

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    b,g,c="", "", ""
    while len(b) !=5:
        b=input("entrer code banque")
    while len(g) !=5:
        g=input("entrer code guichet")
    while len(c) !=11:
        c=input("entrer numero compte")
     
    reste = ( 89*int(b) + 15*int(g) + 3*int(c) ) % 97
    ccle = 97 - reste
    print(ccle)


    A noter que s'il y avait des lettres au lieu de chiffres, il faudrait les remplacer par des chiffres (avant la conversion par int()). Selon la correspondance:
    A, J = 1
    B, K, S = 2
    C, L, T = 3
    D, M, U = 4
    E, N, V = 5
    F, O, W = 6
    G, P, X = 7
    H, Q, Y = 8
    I, R, Z = 9
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

###raw>template_hook.ano_emploi###