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 sous Python 3.1


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Aide sous Python 3.1
    Bonjour à tous. Je suis un débutant en matière de Python mais on m'a dit que s'était un langage relativement simple lorsqu'on se lance en programmation.

    Je souhaite faire un module de calcul. Cet outil de calcul doit tout simplement calculer le total des nombres entrés et la moyenne arithmétique de plusieurs nombres entrés par l'usager. Je désire avoir une sortie semblable à ceci:

    Entrez plusieurs nombres sur une ligne différente;
    Laissez une ligne vide en terminant
    3
    6
    7
    8
    9

    5 nombres ont été entrés dans l'intervalle [3,9]
    La somme est de 33 et la moyenne 6.6


    Bien sur les nombres sont tout à fait choisis aléatoirement. Pour réaliser ceci, je crois que je devrais coder des boucles et insérer les valeurs entrées par l'utilisateur dans une liste. Pour le reste, c'est ici que je demande votre aide. Je désire simplement avoir quelques pistes et conseils car je dois moi aussi apprendre

    Merci de me répondre!

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonsoir,

    Tu peux en effet utiliser une liste pour stocker les nombres un à un. Pour le reste, deux options s’offrent à toi.

    Si ton objectif est de tout coder toi-même (et donc de ne pas utiliser de fonctions de la librairie standard), tu peux parcourir la liste pour compter le nombre d’éléments, accéder aux premier et dernier éléments grâce aux index après avoir trié la liste, faire la somme manuellement et la diviser par la taille de la liste pour la moyenne.

    Si tu peux utiliser la librairie standard, ces quelques fonctions te seront utiles :
    len()
    min()
    max()
    sum()

  3. #3
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Pas besoin de liste ni de fonctions prédéfinies.
    Créer au départ (avant le lancement de la boucle de saisie) 5 variables:
    X, SUM, COUNT, MIN, MAX
    Initialiser SUM et COUNT à 0
    dès la première saisie (valeur de X) initialiser MIN, MAX et SUM avec X et COUNT avec 1.
    Puis à chaque nombre saisi (X):
    Incrémenter COUNT d'une unité
    Additionner X à SUM .
    Si X est < MIN remplacer MIN par X
    Si X > MAX remplacer MAX par X
    Et cela jusqu'à la fin de la boucle.
    A ce moment la somme est SUM la moyenne est SUM/COUNT
    Les bornes de l'intervalle sont MIN et MAX
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 141
    Points : 184
    Points
    184
    Par défaut
    Salut,

    Une des forces de Python est le fait que la liste est un type built-in, avec une multitude de facilités disponibles.

    Le conseil (en fait, l'algo en pseudo-code) de Zavonen ne tient pas compte de cette force de Python, mais il a l'avantage de te former au schéma de réflexion d'un programmeur en plus d'être adaptable à quasiment n'importe quel langage.

    [Digression]
    A la réflexion, je soupçonne Zavonen d'être un programmeur "statique" qui infiltre le forum Python pour propager la mauvaise parole (mauvaise du point de vue Python)... le fourbe !
    [/Digression]

    Pour ma part, je plussoie Kerzh en te conseillant les listes et les built-ins, ainsi que la doc officielle (notamment la partie standard library, qui est une mine d'outils destinés à te faciliter la prog).

    En termes de débutant en prog, je te conseille le livre de Gérard Swinnen (dispo dans la rubrique Livres Python en haut de page) pour apprendre à la fois à programmer tout court et à programmer en Python.
    Cela dit, c'est toujours bien d'avoir ses propres idées de programme à écrire, c'est comme ça qu'on progresse le mieux (à mon avis).

    Sinon, je constate qu'aucun de mes prédécesseurs ne t'a conseillé sur le côté interaction avec l'utilisateur... Ca se trouve dans les docs officielles.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 141
    Points : 184
    Points
    184
    Par défaut
    Citation Envoyé par nardo47 Voir le message
    [...]l'algo en pseudo-code) de Zavonen [...] a l'avantage [...] d'être adaptable à quasiment n'importe quel langage.
    C'est bizarre, mais j'ai comme un doute sur la valeur informative ajoutée de cette phrase...

  6. #6
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    A la réflexion, je soupçonne Zavonen d'être un programmeur "statique" qui infiltre le forum Python pour propager la mauvaise parole (mauvaise du point de vue Python)... le fourbe !
    Me voilà percé à jour, brûlé en quelque sorte.
    Les 'staticiens' adorateurs du Dieu 'C' m'avaient envoyé pour espionner et tenter de découvrir comment il était possible de corrompre de jeunes esprits pour les amener à programmer dans un langage aussi bâtard. Mais imprudence sur imprudence j'ai fini par me faire repérer....
    Plus sérieusement, je pense que l'ami david1865 tente de résoudre à moindre frais un petit problème d'algo que lui a posé son prof. Comme il utilise python on peut penser que c'est un élève de seconde (python a le vent en poupe à l'E.N., à juste titre 'ailleurs), en train d'expérimenter les nouveaux programme de maths de cette classe.
    Si c'est le cas, et si son prof s'y connait un peu il va lui faire revoir sa copie, parce qu'utiliser des listes chainées et des bibliothèques pour un si petit problème de stats, cela s'appelle du gâchis. En outre on passe à côté de l'algo (si on peut dire).
    Je pense donc que la question de david était plus orientée algo qu'orientée python, d'où ma réponse qui lui permettra de moucher son prof si celui-ci balance une solution avec l'artillerie lourde.
    Ce qu'on trouve est plus important que ce qu'on cherche.
    Maths de base pour les nuls (et les autres...)

Discussions similaires

  1. Besion d'aide sur un projet sous Python
    Par anass_59 dans le forum Général Python
    Réponses: 11
    Dernier message: 20/05/2009, 17h16
  2. [Système][Class-Path]cherche aide sous java pour fedoracore ou linux
    Par mickey hollywood dans le forum Général Java
    Réponses: 4
    Dernier message: 29/03/2005, 01h13
  3. [Kylix] Aide sous Kylix
    Par Polo81 dans le forum EDI
    Réponses: 1
    Dernier message: 19/09/2003, 11h20
  4. Réponses: 2
    Dernier message: 25/10/2002, 22h19

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