تحديات برمجيةالتحدي التاسع - حل التمرين الثالث بلغة بايثون
المطلوب
قم بتعريف دالة إسمها 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}")
# 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