البحث
Code Khana
  • تواصل معنا
  • الشهادات
    • تعليمات الحصول على الشهادة
    • الشهادات
  • الدروس
  • الدورات
  • سجل مجاناً
سجل مجاناً
الدخول
  • تواصل معنا
  • الشهادات
    • تعليمات الحصول على الشهادة
    • الشهادات
  • الدروس
  • الدورات

البرمجة بلغة بايثون (الفصل الخامس)

  • أبريل 12, 2023
  • تم النشر بواسطة: كود خانة
  • الفئة: البرمجة بلغة بايثون
لا توجد تعليقات

العمليات المنطقية (Logic operations):

في بداية هذه الدورة تعلمنا انه احد انواع البيانات هو البيانات التي تكون قيمها منطقية True or False والتي تسمى في لغة بايثون boolean وفي هذا الدرس سنتعلم عمليات المقارنة والعمليات المنطقية بين كائنين في لغة بايثون ، وتكون نتيجة هذه المقارنة قيمة منطقية ( صح True او خطأ False )

عمليات المقارنة في لغة بايثون هي نفسها العمليات الرياضية التي تعلمناها جميعنا في الرياضيات في المدرسة والتي تشمل:

  • اصغر من >  وايضا اصغر او يساوي =>
  • اكبر من <  وايضا اكبر او يساوي =<
  • يساوي ==
  • لايساوي =!

ولتوضيح عمليات المقارنة اكثر لنفترض ان لدينا المتغيرين التاليين

1
2
x = 4
y = 7

لو كتبنا هل x اكبر من y سيكون الناتج خطأ False

1
x > y

1
False

وكذلك الحال للامثلة التالية

1
2
3
4
5
x < y         # True  
x <= y        # True
y <= x        # False
y == x        # False
y != x        # True

وايضا لدينا العمليات المنطقية مثل عمليات and ويرمز لها & وعمليات or ويرمز لها | حيث تكون هذه العمليات بين عمليتين منطقيتين او اكثر

من صفات and انها:

  • تكون قيمتها False في حال كانت قيمة الطرفين False او اي طرف من العمليتين False
  • وتكون True فقط في حالة الطرفين True

اما or :

  • فتكون True في حالة كانت قيمة الطرفين True او اي طرف True
  • وتكون False فقط في حالة الطرفين False

ولتوضيح العمليات المنطقية اكثر لنفترض ان لدينا المتغيرين التاليين

1
2
x = 4
y = 7

لو كتبنا شرطين هل x اصغر من y و هل x لا تساوي y سيكون الناتج True ( لأن ناتج الشرط الاول True وناتج الشرط الثاني ايضاً True وتعلمنا في الجدول السابق ان ناتج True and True هو True

1
2
3
4
5
# True and True
x < y and x != y  # True
                  # Because the result of x < y is (True)
                  # And the result of x != y is (True)
                  # True and True is True

1
True

وكذلك الحال للامثلة التالية

1
2
3
4
5
6
7
8
# False and True
x == y and x < y     # False
 
# True or False
x < y or y == x      # True
 
# False or False
x >= y or y < x      # False

ويوجد لدينا في بايثون عملية اخرى تسمى not وتستخدم للنفي او العكس وسنتعلم كيف نستفاد منها لاحقا ومثال عليها

عكس False

1
not False

1
True

عكس True

1
not True

1
False

ايضا يجب ان ننتبه في عمليات المقارنة فيجب ان يكون النوعان من نفس الصنف مثلا رقم مع رقم حتى لو كان احدهم صحيح والاخر كسري او بالامكان ان تكون المقارنة بين نص مع نص حسب الحروف الابجدية او يمكن ان تكون المقارنة بين قائمتين ولكن لا يمكن ان تكون المقارنة بين رقم مع نص لان الناتج سيكون خطأ Error وكذلك لايمكن ان تكون المقارنة بين رقم وقائمة والامثلة التالية توضح ذلك

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
x = 4
y = 7.5
y > x               # True
 
a = "Ahmed"
z = "Zaid"
a > z               # False
 
l = [1, 3 , 5]
m = [2 , 4 , 6]
l < m               # True
 
x = 4
l = [1, 3 , 5]
x < l               # Error

مساحة تجريبية:









تمرين برمجي (1):

1- قم بطباعة هل True تساوي False
2- قم بطباعة هل 2- ضرب 10 لا تساوي 20
3- قم بطباعة هل python تساوي Python بالحرف الكبير
4- قم بطباعة هل True يساوي 1
5- اذا كان لدينا x = -7 * 3  اطبع هل x اكبر او يساوي 20-




#1 Comparison of booleans
print(__________________)
#2 Comparison of integers
print(__________________)
#3 Comparison of strings
print(__________________)
#4 Compare a boolean with a numeric
print(__________________)
#5 Comparison of integers
x = -7 * 3
print(__________________)


#1 Comparison of booleans
print(True == False)
#2 Comparison of integers
print(-2*10 != 20)
#3 Comparison of strings
print("python" == "Python")
#4 Compare a boolean with a numeric
print(True == 1)
#5 Comparison of integers
x = -7 * 3
print(x >= -20)


Ex().has_equal_ast(exact=False)
success_msg("اجابة صحيحة، احسنت")

تمرين برمجي (2):

لدينا المتغيرين التاليين

1
2
my_room = 22.0
your_room = 16.0

1- اطبع هل my_room اكبر من 12 and اصغر من 25
2- اطبع هل ضعف my_room اكبر من ثلاث اضعاف your_room




my_room = 22.0
your_room = 16.0
#1 my_room bigger than 12 and smaller than 25?
print(_____________________________)
#2 Double my_room bigger than triple your_room
print(_____________________________)


my_room = 22.0
your_room = 16.0
#1 my_room bigger than 12 and smaller than 25?
print(my_room > 12 and my_room < 25)
#2 Double my_room bigger than triple your_room
print(my_room * 2 > your_room * 3)


Ex().has_equal_ast(exact=False)
success_msg("اجابة صحيحة، احسنت")

الشروط (if, elif, else):

الشروط من المواضيع المهمة جدا لتعلم اي لغة برمجية فهي تمكننا من السيطرة والتحكم في تنفيذ الكود حسب شروط خاصة نحتاجها في عملنا

الشرط في لغة بايثون يتكون من خمسة اجزاء اساسية وهي:

1- كلمة if وتعني اذا
2- ثم بعدها عملية مقارنة من العمليات التي تعلمناها في بداية هذا الدرس والتي تكون نتيجتها اما True او False
3- ثم بعد عملية المقارنة نقطتين :
4- ثم في الاسفل مسافة
5- ثم نكتب الكود الذي نريد تنفيذه في حال تطابق الشرط يعني في حال كانت قيمة المقارنة True

وكما موضح في الكود التالي مع ملاحظة انه لن يتم تنفيذ الشرط في حال كانت قيمة المقارنة False

1
2
3
x = 10
if x > 5:
  print ("x is bigger than 5")

1
x is bigger than 5

الكود الذي في الاعلى معناه ببساطه (1) اذا كانت (2) x اكبر من 5 (3) قم بالتالي : (4) مسافة لتوضيح ان الكود التالي راجع للشرط (5) اطبع الجملة x هي اكبر من 5

لاحظ انه في ناتج الكود تم طباعة الجملة “x is bigger than 5” وذلك لان الشرط تحقق (وهو x اكبر من 5)

لكن ماذا لو كان قيمة x=3 يعني اصغر من خمسة؟

1
2
3
x = 3
if x > 5:
  print ("x is bigger than 5")

من الواضح انه لم يتم طباعة اي شيء بسبب عدم تحقق الشرط وفي هذه الحالة سنحتاج الى استخدام else وتعني اي شيء اخر غير الشرط مثال على ذلك لدينا متغير x قيمته الرقم 7 ونريد صناعة شرطين

1- الشرط الاول نريد طباعة كلمة زوجي EVEN في حال كانت باقي قسمة x على 2 هو 0
2- الشرط الاخر نريد طباعة فردي ODD لأي رقم لاينطبق عليه الشرط الاول يعني لأي شيء اخر

1
2
3
4
5
6
7
x = 7
 
if x % 2 == 0:
    print ("x is EVEN number")
 
else:
    print("x is ODD number")

1
is ODD number

وكما نلاحظ بما انه لم ينطبق الشرط الاول تمت طباعة الشرط الاخر else وضع في بالك ايضاً ان else لاتأخذ شرط مثل if بل هي تشمل كل الاحتمالات الاخرى غير احتمال الشرط if

لكن ماذا لو اردنا اضافة اكثر من شرط للجملة؟ هنا سنحتاج الى استخدام elif وهي مختصر لكلمة else if وتعني شرط اخر ومثال على ذلك

لدينا متغير اسمه s ونريد ان نضع شرطين للجملة بالاضفة لشرط ثالث يشمل الاحتمالات الاخرى

  • الشرط الاول هو اذا كانت s تقبل القسمة على 2 اطبع s قابلة للقسمة على 2
  • الشرط الثاني هو اذا كانت s تقبل القسمة على 3 اطبع s قابلة للقسمة على 3
  • اخيرا جملة else في حال عدم تطابق الشرطين الاول والثاني اطبع s لاتقبل القسمة لاعلى 2 ولا على 3

1
2
3
4
5
6
7
8
9
10
s = 3
 
if s % 2 == 0:
  print("s is divisible by 2")
 
elif s % 3 == 0:
  print("s is divisible by 3")
 
else:
  print("s is neither divisible by 2 nor by 3")

1
s is divisible by 3

وكما لاحظنا في الكود ان الشرط الاول لم يتم تنفيذه لان قيمته False وتم تنفيذ الشرط الثاني لأن قيمته True اما else يتم تنفيذها فقط في حالة عدم تطابق اي شرط لانها تشمل باقي الاحتمالات الاخرى اما في حال تطابق اي شرط فلا يتم تنفيذها ابدا

للتذكير مرة اخرى: الشرط الثاني اذا كانت قيمته True سيعمل في حال عدم عمل الشرط الاول ، يعني فقط في حال كانت قيمة الشرط الاول False سوف يعمل هذا الشرط اما في حال كانت قيمة الشرط الاول True فسوف يعمل فقط الشرط الاول وكل شيء بعده لن يعمل والكود التالي مثال على ذلك

1
2
3
4
5
6
7
8
9
10
s = 6
if s % 2 == 0:
  print("s is divisible by 2")
    
elif s % 3 == 0:
  print("s is divisible by 3")
    
else:
  print("s is neither divisible by 2 nor by 3")

1
s is divisible by 2


شجرة الشروط:

من الممكن ان يكون الكود الذي نريد تنفيذه في حال تحقق الشرط اي شيء ، فمثلاً قد يكون الكود امر طباعة كما في المثال السابق او قد يكون عملية رياضية او انشاء متغير او اي عملية برمجية اخرى

ويمكن ايضا ان ننشئ شجرة من الشروط والمقصود بذلك هو انشاء عدة شروط متداخلة مثلا لدينا متغير اسمه s

1- الشرط الاول الرئيسي اذا كانت قيمة s عدد زوجي ادخل الى الشرط التالي
A- الشرط الاول داخل الشرط الرئيسي هو اذا كانت قيمة s اكبر او يساوي 10 اطبع ان s عدد زوجي وكبير واطرح 4 من s واطبع الناتج
B- الشرط الثاني داخل الشرط الرئيسي هو اذا كانت قيمة s اكبر من 5 واصغر من 10  اطبع ان s عدد زوجي ومتوسط ثم قم بأضافة 2 لـ s واطبع الناتج
C- الشرط الاخر ( غير الشرطين الاول والثاني ) اطبع ان s زوجي وصغير ثم قم بأضافة 4 لـ s واطبع الناتج
2- اما في حال لم يتحقق الشرط الرئيسي الاول وهو s زوجي قم بطباعة الشرط الرئيسي الاخر وهو s عدد فردي ولفهم ذلك بسهولة الكود التالي يوضح كل ذلك

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
s = 6
# 1 main condition
if s % 2 == 0:                                   # True
  # A condition
  if s >= 10:
    print('s is even and large', s)
    print('the new value of s is: ', s - 4)
  
  # B condition
  elif s > 5 and s < 10:                         # True
    print('s is even and medium', s)
    print('the new value of s is: ', s + 2)
  
  # C else
  else:
    print('s is even and small', s)
    print('the new value of s is: ', s + 4)
        
# 2 main else
else:
  print('s is odd', s)

1
2
s is even and medium 6
the new value of s is:  8

لاحظ في الكود السابق انه تم تنفيذ الشرط الرئيسي الاول ثم تم تنفيذ الشرط الفرعي B

ملاحظة: انتبه للمسافات دائما لان بايثون حساسة جداً للمسافات فهي تعني ان هذا الكود يرجع لهذا الشرط وايضا دائما رتب شروطك بشكل واضح وسهل الفهم والقراءة وحاول ان تكتب ملاحظات بأستخدام # عن كل شرط وما الذي سيفعله في حال تنفيذه من اجل فهم دوره ومن اجل ان يصبح واضح للأشخاص الاخرين الذين يعملون معك على نفس المشروع او البرنامج خاصة في حالة كنت تكتب شروط عديدة ومتداخلة ومعقدة لان ذلك سيسهل المهمة كثيراً


تمرين برمجي (3):

لدينا الكود الغير كامل التالي

1
2
3
4
room = "bed"
 
if room == "kit" :
    print("looking around in the kitchen.")

  • قم بأضافة elif والتي شرطها ان يكون اسم الغرفة bed وتطبع الجملة التالية في حال تحقق الشرط

looking around in the bedroom.

  • قم بأضافة else في حالة عدم تحقق الشرط الاول والثاني والتي تطبع الجملة التالية

looking around elsewhere.




room = "bed"
if room == "kit":
print("looking around in the kitchen.")
___________________
________________________________
______
________________________________


room = "bed"
if room == "kit":
print("looking around in the kitchen.")
elif room == "bed":
print("looking around in the bedroom.")
else:
print("looking around elsewhere.")


Ex().has_equal_ast(exact=False)
success_msg("اجابة صحيحة، احسنت")

تمرين برمجي (4):

لدينا الكود الغير كامل التالي

1
2
3
4
area = 8.0
if area > 15 :
    print("big place!")

  • قم بأضافة elif والتي شرطها ان يكون area اكبر من 10 وتطبع الجملة التالية

medium size, nice!

  • قم باضافة else في حال عدم تحقق الشرط الاول والثاني والتي تطبع الجملة التالية

pretty small.




area = 8
if area > 15:
print("big place!")
_______________
___________________________
_____
___________________________


area = 8
if area > 15:
print("big place!")
elif area > 10:
print("medium size, nice!")
else:
print("pretty small.")


Ex().has_equal_ast(exact=False)
success_msg("اجابة صحيحة، احسنت")

هذا الدرس جزء من دورة مقدمة الى البرمجة بلغة بايثون

and conditions elif else False if Logic operations or True الشروط المقارنات المنطق شجرة الشروط

الدورات الأكثر شهرة

  • مقدمة الى البرمجة بأستخدام بايثون
    مجاني
    حسب كود خانة
  • عمليات الاستشعار والفلترة في السيا...
    $50
    حسب كود خانة
  • مقدمة في تحليل البيانات
    $50
    حسب كود خانة

احدث المقالات

البرمجة بلغة بايثون (بناء محرك بحث)
البرمجة بلغة بايثون ,
البرمجة بلغة بايثون (الفصل السابع)
البرمجة بلغة بايثون ,
البرمجة بلغة بايثون (الفصل السادس)
البرمجة بلغة بايثون ,

منصة تعليمية مستقبلية تقدم دورات وبرامج معتمدة في البرمجة وعلم البيانات والذكاء الاصطناعي.

تواصل معنا

  • الجامعة التكنولوجية ، شارع الصناعة ، بغداد ، العراق.
  • [email protected]
  • [email protected]

البرامج

  • عالم بيانات معتمد – CDS
  • مهندس تعلم الة معتمد – CMLE
  • مهندس رؤية حاسوبية معتمد – CCVE
  • مهندس سيارات ذاتية القيادة معتمد – CSDCE

الصفحات

  • الدورات
  • تواصل معنا
  • الشروط والاحكام
  • سياسة الخصوصية

علم البيانات

  • مقدمة في تحليل البيانات
  • تصوير البيانات ومهارات التواصل
  • التفكير الإحصائي
  • هندسة البيانات
  • تحليلات البيانات الضخمة

تعلم الالة

  • مقدمة في تعلم الالة
  • معالجة اللغات الطبيعية
  • تعلم المجموعة
  • نظم التوصية
  • مقدمة في التعلم العميق: الشبكات العصبية الاصطناعية

الرؤية الحاسوبية

  • مقدمة الى الرؤية الحاسوبية
  • الشبكات العصبية التلافيفية
  • الشبكات العصبية المتكررة
  • كشف الكائنات
  • النماذج المدربة مسبقاً

المركبات ذاتية القيادة

  • مقدمة في السيارات ذاتية القيادة
  • التعلم العميق والرؤية الحاسوبية للسيارات ذاتية القيادة
  • عمليات الاستشعار والفلترة في السيارات ذاتية القيادة
  • تحديد الموقع وتخطيط المسار للسيارات ذاتية القيادة
  • المتحكمات والمسيطرات التنبؤية في السيارات ذاتية القيادة
جميع الحقوق محفوظة 2023 | صنع بشغف وحب ♡ من قبل فريق CodeKhana