我正在尝试在python中创建一个表,询问用户多边形的边长,然后在它的边数在3-9之间时给出该多边形的面积。我的问题是,在报告功能中,我必须为每个具有不同边数的多边形给出不同的区域,但是当我运行它时,即使多边形的边数已经改变,该区域也总是相同的。
import math
def main():
side_length = get_side_length()
report(side_length)
def get_side_length():
length = int(input('Enter a side length: '))
return length
def report(a):
num_sides = 2
each_area = polygon_area(a)
print('side length\t'+ 'number of sides\t'+ 'area')
while num_sides < 9:
num_sides += 1
print(a, num_sides, each_area, sep='\t\t', end='\n')
def polygon_area(sl):
for num_sides in range(3, 10):
area = (num_sides * sl * sl) / (4 * math.tan(math.pi / num_sides))
return area
main()