练习如下:直角三角形有一个角是90°钝角三角形有一个角大于90°如果三个角都小于90°,则三角形为锐角
编写程序询问用户三个角度的度数。首先检查输入的值是否有效。这些值只有当它们为>0并且它们的和为180°时才有效。如果输入的值有效,则将三角形分类为直角、锐角或钝角。
下面是用无效值执行程序的两个例子:请输入第一个角度:60请输入第二个角度:60请输入第三个角:100输入的值无效。
请输入第一个角度:200请输入第二个角度:-10请输入第三个角度:-10小于0的角度无效
请输入第一个角度:60请输入第二个角度:30请输入第三个角:90度这个三角形是直角三角形。
我一直得到这些重构消息:chain -comparison:简化操作数之间的链式比较(exercise.py: 11)
a = int(input("Please enter the first angle: "))
b = int(input("Please enter the second angle: "))
c = int(input("Please enter the third angle: "))
if ((a + b + c) or (a == 0) or (b == 0) or (c == 0)):
print("The entered values are not valid.")
elif a < 90 and b < 90 and c < 90:
print("acute angle")
elif (a == 180) or (b == 180) or (c == 180):
print("obtuse angle")
elif (a >= 200 and a <= 180) or (b <= -10) or (c <= -10):
print("Angles smaller than 0 are not valid.")
elif (total == 180 and a > 0 and b > 0 and c > 0):
print("The triangle is a right triangle.")
这似乎是对问题的过度思考和编程新手的结合。首先,你应该清楚地写出你的逻辑,这样你就能理解它。然后把它翻译成代码。
If any input <= 0:
Not a triangle
Else if total of inputs != 180:
Not a triangle
Else if any input == 90:
Right triangle
Else if any input > 90:
Obtuse triangle
Else
Acute triangle
现在看看是否可以将其转换为python,而不考虑给出的特定示例值。这些值是用来测试逻辑的,而不是用来定义逻辑的。
Python:
a >= 200 and a <= 180
可以写成
180 <= a <= 200
您可以查看文档比较以了解更多细节。