簡體   English   中英

Python:多邊形的面積

[英]Python: Area of a polygon

我做錯了什么,我已經堅持了幾個小時。 我正在嘗試計算多邊形的面積並使用循環來打印值表。 我正在使用蟒蛇

# This program computes 
# the area of polygons
import math

def main():
    side_length = get_side_length()
    report (side_length)

def report( side_length ):
    length = side_length(get_side_length)
    print('Side Length     Number of Sides     area')

def polygon_area( num_sides, side_length ):
    for num_sides in range(3, 10):
        area = (num_sides * side_length * side_length) \
        / (4 * math.tan(math.pi / num_sides)) 


def get_side_length():
    side_length = int(input( 'Input the length of a side '))
    return side_length


# start the program
main()

這里有很多事情要做,盡管您的問題可能更適合https://codereview.stackexchange.com/ ,但這里有一種方法可以完成它:

# This program computes 
# the area of polygons
import math

def main():
    side_length = get_side_length()
    for number_of_sides in range(3, 10):
        report (side_length, number_of_sides)

def report(side_length, number_of_sides):
    area = polygon_area(number_of_sides, side_length)
    print('Side Length: {0}    Number of Sides: {1} Area: {2}'.format(side_length, number_of_sides, area))

def polygon_area( num_sides, side_length ):
    area = (num_sides * side_length * side_length) / (4 * math.tan(math.pi / num_sides)) 

def get_side_length():
    return int(input( 'Input the length of a side '))

# start the program
main()
def report( side_length ):
    length = side_length(get_side_length)
    print('Side Length     Number of Sides     area')

這個塊的中間線很奇怪。 side_length是作為參數傳遞的數字,但是您似乎試圖將其作為函數調用。 刪除那行就行了。

您從不調用polygon_area ,也從不使用它計算的值。 我猜您想將該代碼移動到report並使其打印結果?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM