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

Langage Perl Discussion :

débutant: besoin d'amélioration pour un petit programme...


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 35
    Points : 24
    Points
    24
    Par défaut débutant: besoin d'amélioration pour un petit programme...
    bonjour à tous!

    désolé pour le titre qui n'est pas très clair, mais je n'ai pas réussi à en trouver en moins de 25 mots!

    alors, voici mon problème: je crée en ce moments des petits programmes pour apprendre.

    j'ai décider de créer un jeu: le jeu du plus ou du moins (trouver le chiffre que l'ordinateur choisis.)

    voici mon 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
    19
    20
    21
    22
    23
    24
    25
    #!usr/bin/perl -w
    print "\n\n-_-_-_JEU DU PLUS ET DU MOINS_-_-_-\n\n";
    print "pour arreter en cours de partie, taper 111\n";
    my $quitter=111;
    my $essai=1000;
    my $nb=int rand (100);
    my $tentatives=0;
    until ($essai==$nb) {
     print "choisir un nombre entre 1 et 100\n";
     $essai=<STDIN>;chop($essai);
     $tentatives++;
     if ($essai==$quitter) {
      exit;
     }
     if ($essai==$nb) {
      print "bravo!!!\n";
      print "Vous avez trouvé après $tentatives tentatives!";
     } elsif ($essai>$nb) {
      print "trop grand\n";
     } else {
      print "trop petit\n";
      }
     }
    <STDIN>;
    exit;
    alors, vous remarquerez que pour quitter en cours de jeu, il faut taper "111"! et je trouve ça quand même vraiment moche!

    J'aimerais savoir comment faire pour pouvoir remplacer "111" par "q", car remplacer par entraine une erreur...

    apparement il n'aime pas comparer des lettres avec "=="!

    merci d'avance!

    ps: si vous pouviez critiquez un peu mon programme, me dire les choses qui ne se font pas, les petits trucs pas beau... n'hesitez pas, je suis la pour apprendre

  2. #2
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    En Perl il y a une notion fondamentale trop souvent oublié par les tutoriaux : le contexte (numérique, string, ou liste). Ca permet d'utiliser la même variable en tant que string ou que nombre par exemple (c'est d'ailleurs ce que tu utilises dans ton programme, car à l'origine ce que tu lis sur STDIN est une string, mais tu la traites comme un nombre). Mais Perl doit s'appuyer sur les opérateurs et la syntaxe pour déterminer dans quel contexte est évalué chaque variable. C'est pourquoi il y a des opérateurs différent pour comparer les nombres et les strings :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    == eq
    < lt
    > gt
    <= le
    >= ge
    (lt = lower than, le = lower or equal, gt = greater than...)

    Par ailleurs je te conseille d'utiliser chomp() plutôt que chop() car chomp() a un comportement plus intelligent (il ne supprime le dernier caractère d'une string que si celui-ci est vraiment un retour à la ligne) qui évite quelques erreurs. Et aussi rajoute 'use strict;' au début de ton programme (juste après la première ligne, le shebang), c'est un pragma (un module qui modifie le comportement de l'interpréteur) qui t'oblige à déclarer toutes les variables que tu utilises, et plus généralement impose de bonne pratiques de programmation.

    --
    Jedaï

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    merci beaucoup honorable jedaï!
    je note tout ça dans ma p'tite tête!


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

Discussions similaires

  1. Besoin de conseils pour un petit programme
    Par DanCode dans le forum Débuter
    Réponses: 31
    Dernier message: 08/02/2010, 14h13
  2. Besoin d'idées pour un petit programme !
    Par alexg33 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 12/11/2009, 22h52
  3. [débutant] besoin d'aide pour un programme
    Par acdchornet dans le forum C++
    Réponses: 12
    Dernier message: 26/10/2006, 22h32
  4. Besoin d'aide pour un petit programme
    Par Nico35 dans le forum C
    Réponses: 13
    Dernier message: 25/05/2006, 22h21
  5. [débutant].besoin d'aide pour servlet
    Par 2tsiris dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 30/03/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