Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

تحديات برمجيةالتحدي التاسع - حل التمرين الثالث بلغة بايثون

المطلوب

قم بتعريف دالة إسمها 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