2011-08-08 6 views
-1

Je suivais les tutoriels Python et j'ai décidé de créer un petit exercice avec l'outil "Lambda". C'est une calculatrice de racine carrée de base. Cependant, lorsque j'essaie de l'exécuter, il ne renvoie pas de nombre. Voici à quoi cela ressemble jusqu'à présent.Python ... Lambda ne fonctionne pas?

x = int(raw_input("Enter number:")) 

def power(n): 
    return lambda x: x**n 

sqrt = power(0.5) 

sqrt(x) 

Pourquoi cela ne fonctionne-t-il pas? Si j'ai fait une sorte d'erreur horrible, s'il vous plaît alertez-moi. Rappelez-vous, je suis un débutant donc pas de langue compliquée s'il vous plaît.

+1

Quelle version python utilisez-vous? Cela fonctionne très bien ici sur Python 2.7.2 –

+0

C'est bizarre ... J'utilise aussi Python 2.7.2 et ça ne marche pas. – Amit

+0

Qu'est-ce qui ne fonctionne pas exactement? En entrant '4' renvoie' 2.0', comme je m'y attendais. –

Répondre

6

Qu'entendez-vous par cela ne fonctionne pas? Avez-vous oublié juste faire:

print sqrt(x) 

au lieu de simplement

sqrt(x) 

?

+0

Oh wow, c'était une erreur stupide. Cela l'a réparé. Je vous remercie. – Amit

3

Ce programme est correct. Je pense que tu as oublié d'imprimer le résultat. Modifier la dernière ligne à

print sqrt(x) 

et vous devriez obtenir ce que vous voulez.