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 :

Les fonctions - DM


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2013
    Messages : 18
    Par défaut Les fonctions - DM
    Bonjour,

    Je suis en étude informatique et j'ai commencé le python il y a peu de temps. Je dois faire un exercice a la maison, j'ai deja fait une bonne partie mais je ne comprends pas très bien les fonctions, sachant qu'on doit les apprendre en autoditacte. Voila ce que j'ai:

    TableauCodeVisa = []
    Total = 0

    def Double():
    for i in range (0,16,2):
    TableauCodeVisa[i] = TableauCodeVisa[i]*2
    i = i + 2

    def Inf10():
    for i in range(0,16,2):
    if TableauCodeVisa[i]>9:
    TableauCodeVisa[i] = TableauCodeVisa[i] - 9

    def Somme():
    for i in range (16):
    Total = Total + TableauCodeVisa[i]


    def Control():
    if Total%10 == 0:
    print "Le numero est valide"
    else:
    print "Le numero de votre carte n'est pas valide"



    VISA = input("Entrez le code de votre carte VISA")
    VISA = str(VISA)
    TailleCode = len(VISA)





    while TailleCode != 16:
    print "Le code de votre carte doit faire 16 chiffres"
    VISA = input("Entrez le code de votre carte VISA")
    VISA = str(VISA)
    TailleCode = len(VISA)


    for i in range (16):
    TableauCodeVisa.append(int(VISA[i]))
    print TableauCodeVisa

    Double()

    Inf10()

    Somme()

    Control()


    Le but du programme étant de demander a l'utilisateur d'entrer son code de 16 chiffres provenant de sa carte, de double les chiffres une fois sur deux, de retirer 9 a ceux qui dépassent 10, de tout additionner et de vérifier si c'est un multiple de dix. C'est une technique de vérification qui existe réellement afin de savoir si une carte est "bonne" ou non.

    J'ai ce message : http://puu.sh/5NrWx.png
    Je comprends bien le probleme du message, sauf que si je remplie le tableau avant, je n'ai plus besoin de la fonction et on me demande de les utiliser.

    Merci

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2013
    Messages : 18
    Par défaut
    Hum, l'indentation n'a pas fonctionné :/

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,
    Vous avez sûrement remarque que Python est un langage structure par blocs. Si vous ne prenez pas la peine de mettre votre code dans les balises "code" (le # dans le menu d'edition), c'est illisible.

    Pas la peine non plus de poster l'erreur dans une autre URL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    def Somme():
         for i in range (16):
              Total = Total + TableauCodeVisa[i]
    Le message d'erreur vous dit simplement que la variable Total n'a pas été assignée avant d’être lue...

    e suis en étude informatique et j'ai commencé le python il y a peu de temps. Je dois faire un exercice a la maison, j'ai deja fait une bonne partie mais je ne comprends pas très bien les fonctions, sachant qu'on doit les apprendre en autoditacte.
    Pourquoi ne pas commencer par lire le chapitre du swinnen qui raconte ce que sont les fonctions?

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

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2013
    Messages : 18
    Par défaut
    Bonjour,

    Tout d'abord merci de m'avoir répondu.

    Concernant les blocs, j'ai copié/collé mon programme directement ici et les blocs étaient fait correctement mais je ne sais pas pourquoi, ils ne sont pas resté tels qu'ils l'étaient, soit.

    Je vais aller lire le chapitre que vous m'avez envoyé, j'y ai deja jeté un coup d'oeil.
    J'aurai une question avant de continuer la lecture, qu'est ce que cela veut dire qu'elle n'a pas été assigné avant d'etre lu ?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2013
    Messages : 18
    Par défaut
    J'ai résolu le problème, il suffisait simplement de mettre Total = 0 dans ma fonction et non pas au début du programme.

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

    Citation Envoyé par Jimmy18 Voir le message
    Concernant les blocs, j'ai copié/collé mon programme directement ici et les blocs étaient fait correctement mais je ne sais pas pourquoi, ils ne sont pas resté tels qu'ils l'étaient, soit.
    "Previsualisation su message"avant de poster peut aider.

    Je vais aller lire le chapitre que vous m'avez envoyé, j'y ai deja jeté un coup d'oeil.
    S'il suffisait d'y jeter un œil ça ne serait pas un tuto.

    J'ai résolu le problème, il suffisait simplement de mettre Total = 0 dans ma fonction et non pas au début du programme.
    Si vous partez en disant que Total est variable globale puis bricolez la fonction pour créer une variable locale, c'est que vous ne savez pas encore exprimer en Python ce que vous voulez réaliser.
    Normal vous débutez, mais les tutos. sont la pour vous aidez a mieux comprendre les subtilités des différentes options possibles.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre Expert
    Avatar de e-ric
    Homme Profil pro
    Apprenti chat, bienfaiteur de tritons et autres bestioles
    Inscrit en
    Mars 2002
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Apprenti chat, bienfaiteur de tritons et autres bestioles

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 567
    Par défaut
    Citation Envoyé par Jimmy18 Voir le message
    Concernant les blocs, j'ai copié/collé mon programme directement ici et les blocs étaient fait correctement mais je ne sais pas pourquoi, ils ne sont pas resté tels qu'ils l'étaient, soit.
    Il y a les balises de code pour cela (bouton #).

    M E N S . A G I T A T . M O L E M
    Debian 64bit, Lazarus + FPC -> n'oubliez pas de consulter les FAQ Delphi et Pascal ainsi que les cours et tutoriels Delphi et Pascal

    "La théorie, c'est quand on sait tout, mais que rien ne marche. La pratique, c'est quand tout marche, mais qu'on ne sait pas pourquoi. En informatique, la théorie et la pratique sont réunies: rien ne marche et on ne sait pas pourquoi!".
    Mais Emmanuel Kant disait aussi : "La théorie sans la pratique est inutile, la pratique sans la théorie est aveugle."

Discussions similaires

  1. doc sur les fonctions
    Par masterfab dans le forum C
    Réponses: 18
    Dernier message: 23/06/2005, 17h55
  2. Pourquoi une seule valeur de retour pour les fonctions ?
    Par Bruno75 dans le forum Langages de programmation
    Réponses: 33
    Dernier message: 18/01/2004, 13h58
  3. Réponses: 11
    Dernier message: 22/12/2003, 21h06
  4. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04
  5. Réponses: 7
    Dernier message: 24/05/2003, 15h56

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