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 :

Problèmes de base avec python


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Problèmes de base avec python
    Bonjour,

    je suis nouvelle sur le forum, j'espère que je poste au bon endroit. Je m'y suis inscrite car je suis un peu désespérée par nullité en informatique...

    Je suis en prépa, j'ai commencé du coup en septembre l'info/la programmation avec python.
    Bon j'avoue avoir un peu négligé mes cours d'info, surtout les premiers, j'ai du coup un peu raté les bases (mon dernier DS d'info en témoigne).

    Je me suis dit que pendant les vacances j'allais rattraper mon retard et m'entraîner sur python un peu tous les jours, notre prof nous a donné des sites qui reprennent bien toutes les bases de python.

    Le problème étant que je me retrouve toujours face à des problèmes débiles que j'arrive pas à résoudre, mais le pire c'est que c'est vraiment de base base base (j'avoue avoir limite honte de poster ce qui va suivre...)

    Concrètement voici mon problème, j'essaie de me réapproprié python en m'aidant avec un des sites que notre prof nous a donné. J'essaie de faire en même de mon côté sur python ce qui est indiqué sur le site. En l'occurrence, je commence à y aborder les fonctions (je les avais déjà abordé en cours, mais comme dit je reprends tout depuis le début calmement), il parle notamment de la fonction "type", qu'il faut apparement programmer comme ça :
    Nom : caljcka.PNG
Affichages : 545
Taille : 30,1 Ko

    Sauf que chez moi ça marche pas :
    Nom : aaeaae.PNG
Affichages : 455
Taille : 4,6 Ko

    Mais je comprends pas pourquoi, enfin bien que j'ai du mal à comprendre déjà de base la syntaxe que le site me propose d'utiliser


    Vraiment si vous pouviez m'aider, et répondre à mes questions, ça m'aiderait beaucoup, voilà voilà bonne soirée et bonnes fêtes



    (je sais pas pourquoi est ce qu'il y la dernière capture d'écran, ne la prenez pas en compte, c'est pas voulu )
    Images attachées Images attachées  

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

    Votre soucis est dans les ":".
    Pourquoi écrire "type(a):"? Avec Python les ":" déclarent l'ouverture (à venir) d'un bloc d'instructions (qui sera indenté). Mais on ne peut pas taper ces ":" n'importe quand, ils seront acceptés en fonction de ce que vous aurez tapé au début de la ligne (if, def, class,...).

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

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Votre soucis est dans les ":".
    Pourquoi écrire "type(a):"? Avec Python les ":" déclarent l'ouverture (à venir) d'un bloc d'instructions (qui sera indenté). Mais on ne peut pas taper ces ":" n'importe quand, ils seront acceptés en fonction de ce que vous aurez tapé au début de la ligne (if, def, class,...).

    - W
    Merci de votre réponse, du coup j'ai essayé de voir en enlevant les ":" mais ça ne marche toujours pas...
    Nom : aaeeeee.PNG
Affichages : 426
Taille : 4,6 Ko

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par cecilejuni Voir le message
    Merci de votre réponse, du coup j'ai essayé de voir en enlevant les ":" mais ça ne marche toujours pas...
    Avec Python, les instructions d'un même "block" commencent à la même colonne.
    Donc, si vous indentez une ligne alors que la ligne précédente ne se termine pas par ":", çà plante.

    Ceci dit, relisez votre premier message.
    Ce que vous tapez n'est pas ce qu'on vous demande/suggère de taper. Et çà marcherait peut être mieux si vous vous contentiez de recopier "à la lettre" (et bêtement) ce qui vous est proposé.

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

  5. #5
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Ton problème est plus en amont : Tu as écrit que tu voulais programmer la fonction type.
    NON !
    Tu n'as pas à programmer la fonction type, c'est une fonction native. C'est un peu comme si tu voulais programmer l'opérateur +.

    Il ne faut pas programmer la fonction type, il faut l'utiliser.
    Et tu peux 'encapsulser' cette fonction type dans une fonction mavariante_de_type, mais tel quel, ça n'a aucun intérêt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ma_variante_de_type(a) :
      type(a)
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  6. #6
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Je crois avoir compris... du coup j'ai juste marqué ça (ce qui me se semble logique maintenant) :

    Nom : eljkjjkj.PNG
Affichages : 388
Taille : 3,7 Ko

    mais ça ne m'affiche rien (j'avais déjà eu ce genre de pb où il m'indiquait pas de problème apparent mais n'exécutait pas mon programme pour autant, j'ai jamais compris pourquoi...)

    Merci en tout cas de vos 2 réponses!

  7. #7
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    En mode console ( tu dois avoir les >>> au début de chaque ligne), tape a=3 , puis type(a) ... ça devrait t'afficher le fameux message.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  8. #8
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    En mode console ( tu dois avoir les >>> au début de chaque ligne), tape a=3 , puis type(a) ... ça devrait t'afficher le fameux message.
    C'est pas ce que j'ai déjà ? Les >>> dont tu parles, ce sont pas les indentations ?

  9. #9
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Perso, j'utilise pythonwin, et en mode 'console', j'ai une fenêtre avec >>> comme invite de commande.
    Mais je suis archi-débutant en python, et je ne connais pas les différents environnements.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  10. #10
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Perso, j'utilise pythonwin, et en mode 'console', j'ai une fenêtre avec >>> comme invite de commande.
    Mais je suis archi-débutant en python, et je ne connais pas les différents environnements.
    Mais je sais pas ce que ça veut dire en mode console en fait

  11. #11
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 053
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 053
    Points : 9 392
    Points
    9 392
    Par défaut
    Voici un lien vers un tutoriel, hébergé sur ce site : http://python.developpez.com/cours/a...3/?page=page_4
    La page 4 s'intitule "Premiers Pas". Ce que j'appelle mode "console" s'appelle mode interactif dans ce document.

    Ce tutoriel est LE DOCUMENT à lire. J'ai mis un lien vers la page 4, mais tu aurais intérêt à lire depuis le début.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  12. #12
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 26
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2016
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Voici un lien vers un tutoriel, hébergé sur ce site : http://python.developpez.com/cours/a...3/?page=page_4
    La page 4 s'intitule "Premiers Pas". Ce que j'appelle mode "console" s'appelle mode interactif dans ce document.

    Ce tutoriel est LE DOCUMENT à lire. J'ai mis un lien vers la page 4, mais tu aurais intérêt à lire depuis le début.
    Merci beaucoup, je le lirai

  13. #13
    Membre averti

    Profil pro
    En reconversion
    Inscrit en
    Novembre 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Novembre 2007
    Messages : 180
    Points : 351
    Points
    351
    Par défaut
    Bonjour,

    Je comprends que vous vous embrouillez, ce n'est pas toujours simple quand on débute totalement.

    En fait, il y a deux façons de faire qui sont présentées dans les tutoriels ici et là :

    - soit vous écrivez votre code dans un fichier qui prendra la forme : exemple.py (avec l'extension .py, le nom du fichier n'importe pas). Ensuite vous exécutez directement le fichier à partir de votre éditeur ou IDE (logiciel pour programmer), ou bien vous le lancer à partir d'un invite de commande dans un shell (cmd sous windows) avec la commande python exemple.py (en se positionnant dans le même répertoire que le fichier).

    - soit vous écrivez les commandes directement dans un interpréteur python : par exemple ipython, idle, ou bien directement dans un shell. Les lignes sont alors exécutées après la validation de chaque ligne ou bloc de code.

    Lorsque vous voyez >>> cela correspond à un interpréteur python (le deuxième cas ci-dessus).

    A voir vos copies d'écran j'en déduis que vous écrivez dans un fichier. Dites nous alors quel est le logiciel utilisé, cela nous éclairera.

    Comme dit précédemment, vous avez confondu l'écriture d'une fonction avec l'utilisation d'une fonction native à python "type()".

    Pour utiliser cette fonction dans un fichier et avoir un sortie, un affichage (j'imagine dans un interpréteur incorporé avec votre logiciel) il faut ajouter la fonction print(). Lorsque vous êtes dans un interpréteur, ce n'est pas nécessaire.
    Soit vous êtes sous python 2 et vous écrivez "print type(a)" (sans les guillements), soit vous êtes sous python 3 et vous écrivez "print(type(a))" (sans les guillements).
    Dans votre cas il faut commencer l'écriture du code dès le début de la ligne, ne pas mettre d'espace, ni d'indentation.

    Dans votre premier exemple, vous aviez ajouter un deux points puis vous aviez décalé les lignes numéro 2 et 3 par rapport à la première ligne. On fait cela pour créer une fonction. Cela se réfère à la notion de bloc de code.

    Bon courage, vous allez y arriver, Python est plutôt simple à apprendre par rapport à d'autres langages.

Discussions similaires

  1. Problème d' OVERFLOW avec python
    Par LabChNe dans le forum Calcul scientifique
    Réponses: 4
    Dernier message: 05/11/2010, 14h34
  2. Problème de base avec un Tstrings
    Par Dereck07 dans le forum Débuter
    Réponses: 5
    Dernier message: 31/01/2010, 21h38
  3. Problème de base avec Delphi
    Par Chaumel dans le forum Bases de données
    Réponses: 1
    Dernier message: 26/04/2006, 08h58
  4. Problème d'encodage avec Python
    Par tse_tilky_moje_imja dans le forum Général Python
    Réponses: 2
    Dernier message: 22/02/2006, 14h36

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