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

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

المطلوب

قم بتعريف دالة إسمها IsPrime(), عند استدعاءها نمرر لها عدد, فترجع True إذا كان العدد عبارة عن عدد أوّلي ( Prime Number ) و ترجع False إن لم يكن كذلك.
بعدها قم بتجربة هذه الدالة في البرنامج.

معلومة: العدد الأولي هو العدد الذي يقبل القسمة على نفسه و على 1 فقط مثل الأرقام 1 - 3 - 5 - 7 - 11 - 13 - 17 إلخ..


الحل بلغة بايثون

# هنا قمنا بتعريف الدالة
def is_prime(n):
# إذا كان الرقم من الأساس أصغر أو يساوي 1 فعندها لا يعتبر عدد أولي
if n <= 1:
return False
# إذا كان الرقم الذي تم تمريره إليها أكبر من 1 عندها سيتم التأكد منه
else:
# سنحاول قسمته على جميع الأعداد الموجودة إبتداءاً من الرقم 2 إلى نصف قيمه العدد الذي تم تمريره للدالة
for i in range(2, n // 2 + 1):
# إذا كان العدد الذي تم تمريره لها لا يمكن قسمته على أي رقم بين 2 و نصفه فعندها لا يعتبر عدد أولي
if (n % i) == 0:
return False
# إذا كان العدد الذي تم تمريره لها يمكن قسمته على أي رقم بين 2 و نصفه فعندها يعتبر عدد أولي
return True
# هنا قمنا باختبار الدالة
print('2 is a prime number?', is_prime(2))
print('3 is a prime number?', is_prime(3))
print('4 is a prime number?', is_prime(4))
print('5 is a prime number?', is_prime(5))
print('6 is a prime number?', is_prime(6))
# هنا قمنا بتعريف الدالة def is_prime(n): # إذا كان الرقم من الأساس أصغر أو يساوي 1 فعندها لا يعتبر عدد أولي if n <= 1: return False # إذا كان الرقم الذي تم تمريره إليها أكبر من 1 عندها سيتم التأكد منه else: # سنحاول قسمته على جميع الأعداد الموجودة إبتداءاً من الرقم 2 إلى نصف قيمه العدد الذي تم تمريره للدالة for i in range(2, n // 2 + 1): # إذا كان العدد الذي تم تمريره لها لا يمكن قسمته على أي رقم بين 2 و نصفه فعندها لا يعتبر عدد أولي if (n % i) == 0: return False # إذا كان العدد الذي تم تمريره لها يمكن قسمته على أي رقم بين 2 و نصفه فعندها يعتبر عدد أولي return True # هنا قمنا باختبار الدالة print('2 is a prime number?', is_prime(2)) print('3 is a prime number?', is_prime(3)) print('4 is a prime number?', is_prime(4)) print('5 is a prime number?', is_prime(5)) print('6 is a prime number?', is_prime(6))

سنحصل على النتيجة التالية عند التشغيل.

2 is a prime number? True
3 is a prime number? True
4 is a prime number? False
5 is a prime number? True
6 is a prime number? False
		

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة