angle1 = int(input('Please enter the 1st angle:'))
angle2 = int(input('please enter the 2nd angle:'))
angle3 = int(input('please enter the 3rd angle:'))
Angle = angle1 + angle2 + angle3
while Angle == 180:
if angle1 and angle2 and angle3 < 90:
print ('this an actue triangle')
elif angle1 or angle2 or angle3 == 90:
print ('this is a right triangle')
elif angle1 or angle2 or angle3 > 90:
print ('this is an obtuse triangle')
Angle = angle1 + angle2 + angle3
angle1 = int(input('Please enter the 1st angle:'))
angle2 = int(input('please enter the 2nd angle:'))
angle3 = int(input('please enter the 3rd angle:'))
我试图将每个角度与条件进行比较,但只要我在angle3中输入数字,它就会与条件进行比较并忽略另外两个角度。请在这件事上给予我帮助!
答案 0 :(得分:1)
您可以使用let () =
try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH")
with Not_found -> ()
;;
#use "topfind";;
和any
功能。
all
编辑: Python初学者的一些评论:
第一行,我使用了一个lambda表达式,它是一个单行函数。在lambda表达式中,我使用了list comprehension(一种构建列表的简洁方法)。
所以ask = lambda: [int(input('Please enter the {0}st angle:'.format(i))) for i in range(1,4)]
angles = ask()
while sum(angles) == 180:
if all(a < 90 for a in angles):
print ('this an actue triangle')
elif any(a == 90 for a in angles):
print ('this is a right triangle')
elif any(a > 90 for a in angles):
print ('this is an obtuse triangle')
angles = ask()
返回一个包含3个角度的列表,例如ask()
。
您可以找到有关[90, 45, 45]
,sum()
和any()
here的信息。
答案 1 :(得分:0)
我认为你必须像这样比较每个角度
if (angle1 < 90) and (angle2 < 90) and (angle3 < 90)
其他条件相同。但我认为你必须使用或代替if语句。因为当Angle为180时,所有三个角度都不能小于90,你只想测试三个角度中的一个是否小于90.并且所有条件都必须为真。