У меня есть простой скрипт, который пытается вычислить площадь и окружность круга. На первой итерации цикла он работает отлично. Тем не менее, на втором он ломается, говоря, что объект «float» не является вызываемым ». Любые идеи о том, что не так? СообщениеОбъект Float не вызываемый python
Ошибка:
Traceback (most recent call last):
File "C:/Users/Administrator/Google Drive/School/Spring 2015/Scripting/ITD2313-Portfolio-GandyBrandon/Assignments/Hands-on & Labs/Question1.py", line 16, in <module>
area = area(radius)
TypeError: 'float' object is not callable
Код:
import math
finished = False
def area(number):
area = math.pi * (number**2)
return area
def circum(number):
c = 2 * math.pi * number
return c
while (finished == False):
radius = 0
radius = int(input("Please input the radius: "))
if radius <= 0:
print ("Exitting the program...")
finished = True
else:
area = area(radius)
circum = circum(radius)
print (area)
print (circum)
У вас есть переменные с именем 'area' и' circum' и функции с тем же именем. Не делай этого. Кроме того, в следующий раз, пожалуйста, разместите *** полный текст *** ошибки или трассировки, поскольку он указывает прямо на то, где происходит ошибка. – MattDMo
Не отвечая на ваш вопрос, но ваша переменная 'finished' является логической. Вы не должны явно писать 'while finished == False', вы можете просто использовать boolean, например:' while finished' или 'while! finished'. – JNevens
@JNevens Я пробовал этот синтаксис у Python, не имел его. – OysterMaker