-1
votes

"Le nom de la fonction n'est pas défini"

Une question complète de Newbie: Le code est destiné à trouver la chaîne la plus longue dans une liste et à l'afficher. Cela ne fonctionne pas lorsque je l'exécute (en tant que fichier, ou directement dans la coquille). Je continue à obtenir un message d'erreur que le nom de la fonction n'est pas reconnu. Votre aide et vos conseils seraient hautement appréciés.

Le résultat correct est affiché avec la commande d'impression, mais lorsque j'essaie d'exécuter le fichier complet, je continue à obtenir l'erreur mentionnée ci-dessus. P>

SyntaxError: invalid syntax
>>> mylist = ["111", "44", "baking", "dot"]
>>> list1 = max(["111", "44", "baking", "dot"], key=len)
>>> longest(list1);
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
NameError: name 'longest' is not defined
>>> print(list1)
baking


6 commentaires

Dans la coquille, vous semblez avoir omis la ligne où vous définissez la fonction.


Vous n'avez pas besoin de fonctionner séparément - juste len (list1) fera


Essayez-vous d'exécuter Python [nom de fichier] .py de la coquille Python? Vous devez utiliser la coquille de votre système d'exploitation.


@Mortz: len (list1) fera différentes choses. Mais la fonction la plus longue ne fait rien pour le moment, c'est vrai.


@Matthias - Oui, mal interprété la question comme étant la longueur de la plus longue chaîne ...


Merci à tous pour vos réponses et suggestions utiles. Il semble que je suis plus désemparé que je ne le pensais. Il est évident que j'ai besoin de plus d'informations avant de vous déranger à nouveau. Merci.


4 Réponses :


0
votes

La fonction ne fait rien dans votre code.
Aurait pu raccourcir le ci-dessous.

max_value = max(["111", "44", "baking", "dot"], key=len)
print(max_value)


0 commentaires

-2
votes

Ce n'est pas une solution à votre problème où le plus long code> est introuvable, mais une implémentation de travail de votre code.

def longest(mylist):
    return max(mylist, key=len)

list1 = ["111", "44", "baking", "dot"]
print(longest(list1))


0 commentaires

-1
votes

Votre problème est dans votre fonction. Vous recevez un argument dans votre fonction et vous remplacez cet argument à la ligne 2. Ici ce que votre fonction doit ressembler à xxx

puis après avoir appelé votre fonction avec votre argument xxx

plus dans votre coquille Vous n'avez pas défini votre fonction afin que l'interprète ne le sait pas


1 commentaires

oublié l'instruction retour



0
votes

Votre code n'est pas écrit correctement, vous devriez passer par des tutoriels Python pour apprendre les bases. Il y a beaucoup de tutoriels disponibles sur Internet.

Tutoriel Python sur TutorialSpoint

Python officiel DOC

maintenant , la réponse à votre question est la suivante: xxx


0 commentaires