تابعی بنویسید که بررسی کند آیا با اطلاعات دادهشده میتوان یک مثلث قائمالزاویه ساخت یا خیر.
- اگر اطلاعات شامل زاویه باشد، باید بررسی کنید که آیا میتوان زاویه ۹۰ درجه داشت یا خیر.
- اگر اطلاعات شامل اضلاع باشد، باید بررسی کنید که آیا رابطه فیثاغورث برقرار است یا خیر.
- مثلث باید دقیقاً ۳ ضلع یا ۳ زاویه داشته باشد (مگر اینکه اطلاعات ناقص باشد).
- اگر اطلاعات ناقص باشد (مثلاً فقط ۲ ضلع داده شده)، باید بررسی کنید آیا میتوان ضلع سوم را طوری انتخاب کرد که مثلث قائمالزاویه شود.
مثال
is_right_angle([30, 60], "angle") ➞ True
# زاویه سوم میتواند ۹۰ درجه باشد
is_right_angle([20, 20, 20, 20], "angle") ➞ False
# بیش از ۳ ضلع دارد
is_right_angle([4, 5, 3], "side") ➞ True
# 3² + 4² = 5²
is_right_angle([4, 5], "side") ➞ True
# ضلع سوم میتواند ۳ باشد
self.assertEqual(is_right_angle([30, 60], "angle"), True) self.assertEqual(is_right_angle([20, 20, 20, 20], "angle"), False) self.assertEqual(is_right_angle([4, 5, 3], "side"), True) self.assertEqual(is_right_angle([4, 5], "side"), True) self.assertEqual(is_right_angle([30, 60, 90], "angle"), True) self.assertEqual(is_right_angle([90], "angle"), True) self.assertEqual(is_right_angle([90, 90, 90], "angle"), False) self.assertEqual(is_right_angle([4, 5, 6], "side"), False) self.assertEqual(is_right_angle([43], "angle"), True)
پاسخ های کاربران به این تمرین
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
برای مشاهده پاسخ باید ابتدا وارد شده و قفل پاسخ را باز کنید
نظرات