class HexagonInteriorAngle(object):
def __init__(self, x):
self.x = self
def FindInteriorAngle(self):
degrees = int((x - 2) * 180)
interior = int(degrees / x)
def Print(self):
if x == 3:
print(str("an interior angle of a triangle equals " str(interior)))
elif x == 4:
print("an interior angle of an equilateral equals " str(interior))
elif x == 5:
print("an interior angle of a pentagon equals " str(interior))
elif x == 6:
print("an interior angle of a hexagon equals " str(interior))
elif x == 7:
print("an interior angle of a heptagon equals " str(interior))
elif x == 8:
print("an interior angle of an octagon equals " str(interior))
elif x == 9:
print("an interior angle of a nonagon equals " str(interior))
elif x == 10:
print("an interior angle of a decagon equals " str(interior))
else:
print(str(interior))
if __name__ == "__main__":
x = int(input("enter: "))
hexaObj = HexagonInteriorAngle(x)
hexaObj.FindInteriorAngle()
hexaObj.Print()
我希望程式做的是根據邊數確定它是什么型別的多邊形(例如 6 邊 = 六邊形,5 邊 = 五邊形等),然后列印該多邊形的一個內角是多少(找到內角的公式:(邊數 - 2)x 180,然后取該答案,然后將其除以邊數)。例如:六邊形。( 6 - 2 ) x 180 = 720 720 / 6 = 120
現在我很確定實際的代碼部分是正確的,因為如果你這樣做,它列印得很好:
class HexagonInteriorAngle(object):
def __init__(self, x):
self.x = self
def FindInteriorAngle(self):
degrees = int((x - 2) * 180)
interior = int(degrees / x)
print("interior angle " str(interior))
if __name__ == "__main__":
x = int(input("enter: "))
hexaObj = HexagonInteriorAngle(x)
hexaObj.FindInteriorAngle()
uj5u.com熱心網友回復:
你應該做這個:
def FindInteriorAngle(self):
degrees = int((x - 2) * 180)
interior = int(degrees / x)
return interior
# ...
if __name__ == "__main__":
x = int(input("enter: "))
hexaObj = HexagonInteriorAngle(x)
interior = hexaObj.FindInteriorAngle()
print("interior angle " str(interior))
uj5u.com熱心網友回復:
幾乎與您的答案無關,我們可以使用某些property欄位稍微清理您的代碼。使用__str__代替Print方法也更慣用。
class Polygon:
shapes = [
None, # index 0
None, # index 1
"line", # index 2, etc...
"triangle",
"rectangle",
"pentagon",
"hexagon",
"heptagon",
"octogon",
"nonagon",
"decagon",
]
def __init__(self, sides):
if not 2 <= sides <= 10:
raise ValueError("Polygon only supports shapes with sides 2-10")
self.sides = sides
@property
def shape(self):
return self.shapes[self.sides]
@property
def interior_angle(self):
return (self.sides - 2) * 180 / self.sides
def __str__(self):
return f"The interior angle of a {self.shape} is {self.interior_angle}"
if __name__ == "__main__":
poly = Polygon(3)
print(poly)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/341633.html
上一篇:php浮點數、物件和精度
