我是新手編程,這是我第一次問一個問題,所以如果我打破任何協議,提前道歉。我在發帖之前試着尋找答案,但沒有找到任何匹配的結果。>在python 3返回==三角形練習
我正在通過思考Python 2的方式工作,這裏是我的練習5.3,三角練習的解決方案。
def is_tri():
print('Give me 3 lengths')
a = int(input('first?\n'))
b = int(input('second?\n'))
c = int(input('third?\n'))
if a > b + c or b > a + c or c > a + b:
print('Not a triangle')
else:
print("Yes, it's a triangle")
is_tri()
我注意到的是,如果我給3個答案時一起加入,即(1,1,2),則程序返回是,其中所述長度的2等於三分之一。但是2不大於2.我甚至增加了一系列'和'聲明,要求任何雙方的總和不能等於第三,並且它仍然返回是:
如果(a> b + c或a + c或c> a + b)和(a!= b + c和b!= a + c和c!= a + b):
作者提到,第三個是「退化的三角形」,可能預示着這一結果。但爲什麼? 「>」和「> =」運算符是否提供了不同的功能?我錯過了什麼嗎?我如何限制操作員排除退化三角形?
看起來像你的條件是錯誤的。 'c'必須小於或等於*'a + b'而不是三角形。 – Li357