Je tente de créer un petit programme qui va calculer l'aire d'une forme. Quand je mets le nom de la forme, il affiche "function at 0xetc". J'ai beaucoup de temps pour déterminer où est le problème. Je sais que ma fonction area
est probablement foirée mais je ne peux pas y arriver pour la déboguer. J'ai d'abord pensé que j'avais défini des fonctions avec les mêmes noms que les formes, il les appelait depuis l'entrée mais je change les noms et j'obtiens le même message. voici le code:continuer à obtenir une erreur 'fonction @ 0xb6ff9924 (ou quelque chose de similaire)'
#geometry program
#shapes
def squar(x, y):
result = x * y
return result
def rectangl(x, y):
result = x * y
return result
def circl(r):
result = 3.14 * (r^2)
return result
def triangl(h, b):
result = (h^b * b)/2
return result
s = raw_input("Shapes are square, rectangle, circle or triangle. Pick a shape and I will calculate its area. ")
#Calculating the area
def area(s):
if str(s) == "square":
x = int(raw_input("Height? "))
y = int(raw_input("Width?"))
squar(x, y)
return squar
elif str(s) == "rectangle":
x = int(raw_input("Height? "))
y = int(raw_input("Width?"))
rectangl(x,y)
return rectrangl
elif str(s) == "circle":
r = int(raw_input("Radius?"))
circl(r)
return circl
elif str(s) == "triangle":
h = int(raw_input("Height?"))
b = int(raw_input("Base Width?"))
triangl(h, b)
return triangl
else:
print "I don't know that one"
print area
grâce ps. Si l'indentation semble un peu décalée d'un espace ou deux, c'est à cause du formatage ici. ils ne jettent aucune erreur quand je cours le programme.
Vous retournez _function itself_. Essayez de renvoyer _result de la fonction call_ - par ex. 'return rectangl (x, y)' –