согласно моей книге, ввод 5 и 6.5 в эту функцию должен возвращать 73.6901. Тем не менее, я продолжаю получать 72.6901. Я знаю, что формула прекрасна, я не могу представить, что еще может быть. Есть ли определенная степень неточности с поплавками, которые могут вызывать эту логическую ошибку?Расчет поплавка всегда отключен на 1
import math
def area(n, side):
area= (n * (side * side))/(
4 * math.tan(math.pi/n))
return area
def main():
sideNumber = int(input("Enter the number of sides :"))
sideLength = float(input("Enter the side: "))
print("The area of the polygon is %f" %(area(sideNumber, sideLength)))
if __name__ == "__main__":
main()
Нет, что-то, что совсем не похоже на 1, вряд ли будет ошибкой с плавающей точкой. Скорее всего, это опечатка в книге. – mgilson
Не верьте всему, что вы читаете –