تحديات برمجيةالتحدي التاسع - حل التمرين الثالث بلغة بايثون
المطلوب
قم بتعريف دالة إسمها SquareRoot()
، عند استدعاءها نمرر لها عدد, فترجع ناتج قيمة الجزر التربيعي ( Square Root ) له.
بعدها قم بتجربة هذه الدالة في البرنامج.
الحل بلغة بايثون
# SquareRoot هنا قمنا بتعريف الدالة def SquareRoot(number): # إذا كان العدد أصغر من صفر فإنها ترجع إستثناء if number < 0: raise ValueError("Cannot calculate square root of a negative number") # إذا كان العدد بين 0 و 1 فإنه سيتم إرجاعه كم هو if number == 0 or number == 1: return number # التخمين الأول للناتج guess = number / 2.0 # هنا قمنا باستخدم طريقة نيوتن-رافسون للتقريب التكراري for _ in range(100): guess = 0.5 * (guess + number / guess) return guess # هنا قمنا بتجربة الدالة input_number = 25.0 try: result = SquareRoot(input_number) print(f"Square root of {input_number} is: {result}") except ValueError as e: print(f"Error: {e}")
سنحصل على النتيجة التالية عند التشغيل.
The square root of 25.0 is: 5.0