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ème fonction (niveau très débutant)


Sujet :

Python

  1. #1
    Membre éclairé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Par défaut Problème fonction (niveau très débutant)
    Bonsoir,

    J'ai débuté Python depuis peu, et j'ai un petit soucis. J'ai crée un tableau avec plusieurs valeurs :
    [10,4,23,45,28,34,89,9,16,55]

    et j'aimerais enfaite créer une fonction qui va permettre de trouver la valeur la plus grande.

    Voici mon code, vous en pensez quoi ? J'ai du mal à comprendre le return je ne sais pas quand/où je dois le mettre (ligne 16) et j'aimerais vous demander si ma ligne 35 est correcte aussi?

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    points = [10,4,23,45,28,34,89,9,16,55]
     
     
     
     
     
    def print_menu():
    	print("1 - Afficher le plus grand")
    	print("0 - Quitter le programme ")
     
    def somme(points):
    	plusGrand = 0 
    	for nombre in points:
    		if nombre > plusGrand:
    			plusGrand = nombre
    	return somme()
     
     
     
    menu_choix = 1
     
    print_menu()
     
     
     
     
     
     
    while menu_choix != 0 :
    	menu_choix = int(input("taper votre choix:"))
     
     
    	if menu_choix == 1: 
    		print("option 1: ")
    		print("le plus grand nombre", somme)

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

    Créer une fonction commence par lui donner un nom qui va rappeler ce qu'elle fait. Si vous appelez "somme" une fonction qui retourne la plus grande valeur d'une liste, pas la peine de lui donner un nom qui risquera de devenir un faux ami. Nommez la f1234, foo, bar, tarte_molle,...

    Relisez votre code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def somme(points):
    	plusGrand = 0 
    	for nombre in points:
    		if nombre > plusGrand:
    			plusGrand = nombre
    	return somme()
    Si vous vous em... a stocker dans la variable "nombre" la plus grande valeur trouvée...
    Cà fait quand même sens de retourner cette valeur là, non?

    Le premier outil pour répondre aux questions idiotes que vous pouvez vous poser est la console Python. Elle se lance via la commande "python" (si vous avez installé Python correctement) et affiche un prompt (une invite de commande): '>>>'
    Ca vous permet de tester des constructions comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> def foo(n):
    ...     return foo()
    ...
    >>> foo(2)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "<stdin>", line 2, in foo
    TypeError: foo() missing 1 required positional argument: 'n'
    >>>
    Et accessoirement d'essayer de comprendre ce que raconte Python (et de vous habituer à ce dialogue étrange avec la machine).

    Pour le reste, vous avez des cours qui essaient de vous expliquer ce qu'est une fonction et des tas d'autres choses. Car c'est pas le tout d'écrire un code qui "marche": il faut savoir le relire et imaginer comment Python exécutera ces instructions pour vous assurez que çà fera bien ce que vous vouliez.

    note: reprenez votre fonction et imaginez que les nombres de la liste soient tous négatifs...

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

Discussions similaires

  1. Problème au niveau de la fonction remove
    Par DesLife dans le forum C
    Réponses: 8
    Dernier message: 16/06/2011, 18h35
  2. problème au niveau de fonction
    Par marguerite99 dans le forum C
    Réponses: 4
    Dernier message: 31/10/2009, 17h38
  3. problème au niveau de l'appel d'une fonction
    Par kawther dans le forum MATLAB
    Réponses: 2
    Dernier message: 16/06/2009, 21h15
  4. Réponses: 5
    Dernier message: 26/06/2008, 14h26
  5. [DNS MX]Avec DynDNS.org, problème au niveau du MX
    Par Swoög dans le forum Développement
    Réponses: 9
    Dernier message: 24/08/2004, 23h00

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