داليتي سكول -

Daliaty School

   صفحة البيت  |

 

 

 

 

 

بايثون – ôéúåï – python

 

 

 

 

 

 

 مقارنة الأرقام - äùååàú îñôøéí

 

 

 

 

تعابير منطقية –    boolean expressions  

(áéèåééí ìåâééí / áéèåééí áåìéàðééí)

 

لا يقتصر استخدام بايثون على التعابير الحسابية، وإنما يمتد ذلك إلى التعابير المنطقية كذلك،

حيث تُستخدم الأدوات الشرطية للمقارنة بين القيم المختلفة، وينتج عن ذلك ناتجاً منطقيا (True أو Fals).

 

التعبير من نوع bool هو تعبير منطقي نتيجته أما True أو False

(صدق/كذب أو صحيح/خطأ، àîú/ù÷ø، yes/no).

 

أن القيمتين True و False، صحيح و-كاذب، هما كلمتان محفوظتان في اللغة (كلمات محجوزة)،

إنهما جُزء مدمج في لغة بايثون.

 

 

  

 

 

الأدوات المستعملة في بايثون– Operators

 

Operators يعني بالعربية: أدوات، رموز، عوامل، عمليات.

هي عبارة عن رموز وإشارات خاصة لها وظيفة معينة ومحددة (يتم تنفيذها على القيم والمتغيرات)

 

يوجد في لغة بايثون العديد من أنواع الأدوات:

·       ادوات العمليات الحسابية  (وقد تعرفنا عليها في دروس سابقة):  

جمع +، الطرح - ، الضرب *، القسمة /، القسمة الصحيحة //، القوي **، باقي القسمة %

·       أدوات المقارنة - تعبر عن العلاقة بين القيم (وهو موضوع درسنا)

مثل:  > (أكبر) ، <  (أصغر) ،  == (مساواة) ،  != (مختلف، لا يساوي) ، <= (أصغر أو يساوي) ، >= (أكبر أو يساوي).

·       أدوات العمليات المنطقية  (وهي العمليات  and, or, not ، سنتعلمها في الدرس القادم).

·       أدوات الإسناد  (مثل أداة = ، مثلاً a=5 ، وأداة += ، مثلاً x+=1 وهو اختصار لــ x=x+1).

 

 

  

 

 

مثال – مقدمة للموضوع: 

التعبير 5>8 هو تعبير منطقي. وهو كأننا نقول هل 5 أكبر من 8 ، ونتيجته False

 

الرمز  >  هو رمز مُعامِل عملية المقارنة (مُشغِل، operator).

والقيمتان 5 و 8 هما العامِلان (operand).

والدمج معا 5>8  هو  تعبير منطقي نتيجته False

 

 

مثال: 

 

False

True

print(5>8)

print(5<8)

 

 

 

 

  

 

 

أدوات عمليات المقارنة

(Comparison Operators ، àåôøèåøéí äùååàúééí)

 

في هذا الدرس سنتعلم كيف نقارن بين القيم.

أحد أكثر العمليّات شيوعًا في برامج الحاسوب هي المقارنة بين القيم.

 

·       كي نتعامل مع التعابير المنطقية (تعابير التي نتيجتها True أو False)

يجب معرفة أدوات عمليات المقارنة (أدوات العلاقة، éçñوهي الرموز والإشارات

المستخدمة للمقارنة. وهي تغحص وتقارين بين تعبيرين (أو أكثر) وترجع True إذا

كانت المقارنة تتحقق وصحيحة، وإذا لا فإنها ترجع False.

 

 

الرمز

الوظيفة

مثال

يرجع True إذا

==

مساواة، متساوين

a == b

قيمة a مساوية لقيمة b

!=

لا يساوي (مختلف)

a != b

قيمة a و b مختلفتان

> 

أكبر من

a > b

الأول أكبر من الثاني

< 

أصغر من

a < b

الأول أصغر من الثاني

>=

أكبر من أو يساوي

a >= b

الأول أكبر أو مساوي للثاني

<=

أصغر من أو يساوي

a <= b

الأول أصغر أو مساوي للثاني

 

هذه الأدوات تستخدم للمقارنة بين القيم والمتغيرات (وتعبر عن العلاقة بينها)

ونتيجتها دائماً True أو  False

 

 

            (تخيل كلمة هل أمام كل تعبير)

 

النتيجة

مثال

True

False

هل 5 == 5

هل 5 == 8

True

False

5 != 8

5 != 5

True

False

5 > 4

5 > 8

True

False

5 < 8

5 < 4

True

False

5 >= 5

5 >= 6

True

False

5 <= 6

5 <= 4

 

 

 

  

 

 

مقارنة الأرقام  (äùååàú îñôøéí)

 

في كثير من الأحيان نحتاج إلى معرفة ما إذا قيمة ما أصغر أو أكبر أو تساوي قيمة أخرى.

إذًا كيف يُمكننا مقارنة القيم في بايثون؟

 

 

فحص القيمة الأكبر (المُعامِل >) والقيمة الأصغر (المُعامِل <)  

 

مثال:

 

print(3 < 4)  # True

print(3 > 4)  # False

السطر 1: صحيح. لأن 3 أقل من 4.  

السطر2: إنه ادعاء كاذب أن نقول إنّ 3 أكبر من 4.

 

أن القيمتين True و False، صحيح و-كاذب، هما كلمتان محفوظتان في اللغة (كلمات محجوزة)،

إنهما جُزء مدمج في لغة بايثون.

 

مثال

 

print (2+3*4 > 4**2)  # False   

(السبب لأن  14>16)                 

 

مثال

 

print(True)    # True

print(False)   # False

 

نحن نرى أن بايثون يعرف القيمة True والقيمة False.

 

 

  

 

 

مثال

 

x = 5 > 8

print (x)    # False

 

x = 5 < 8

print (x)    # True

 

 

  

 

 

مثال

 

a = 5

b = 7

c = a>b

print(c)

 

 

False

 

 

  

 

 

مثال

3*2 < 4+1 ==>

6 < 5 غير صحيح

x, y = 3, 4

print(x*2 < y+1)   # False

 

 

6*4>2*(4+6)

24>20

a,b  = 4, 6

print (a*b > 2*(a + b))  # True

 

 

  

 

 

 

فحص التساوي – المُعامِل ==

 

ماذا لو كنا نريد فحص كون رقمين متساويين؟

فحص التساوي بين قيمتين يتم بواسطة علامة يساوي يساوي ==  .

 

مثال:  نفحص إذا كان x يساوي y.

 

 

لأن x لا يساوي y.

x,y = 3, 4

print(x == y)   # False

 

 

مثال:  نفحص إذا كان x+1 يساوي y.

 

 

لأن x+1 يساوي y

x, y = 3, 4

print(x+1 == y)  # True

 

من المهم أن نلاحظ خطأ شائعًا جدًا في هذا الصدد.

لاحظوا الفرق بين x==y   و -  x=y.

·       الأمر x==y ، هو أمر مقارنة بين قيمتي x و- y (ويعني هل قيمة المتغير x مساوية لقيمة y).

·       الأمر x=y،  هو أمر تعيين (إسناد)، كما رأينا سابقًا.

وينتج عن ذلك إدخال قيمة المتغير y في المتغير x.

 

مثال:   دعونا نغير أمر الطباعة إلى x=y، ماذا سيحدث؟

 

 

TypeError ...

x, y = 3, 4

print(x = y)

 

هنا يعطينا بايثون رسالة خطأ.  لا يجوز تعيين (إسناد) قيمة وطباعتها ...

 

 

  

 

 

فحص الإختلاف (عدم التساوي) – المُعامِل !=

 

ماذا لو كنا نريد فحص كون رقمين مختلفين عن بعضهما؟

هذا له مُعامِل مناسب، الرمز علامة تعجّب متبوعة بعلامة يساوي (!=).

·       المُعامِل != ، يعنى: مختلف عن ...

x != y ،  معناه x مختلف عن y (لا يساوي)

 

مثال:  نفحص، هل 3 مختلف عن 4 

 

print(3 != 4)  # True

print(3 != 3)  # False

 

في السطر الأول: يطبع True لأن 3 تختلف عن 4.

في السطر الثانني: يطبع False لأن غير صحيح أن 3 تختلف عن 3.

 

 

  

 

 

 

 مُعامِل المقارنة  >=  و  <=

 

 

هناك علامتان (رمزان) أخريان للمقارنة:

أصغر أو يساوي (<=)  و  أكبر أو يساوي (>=).

 

·       للتحقق مما إذا كانت قيمة ما أصغر من أو تساوي قيمة أخرى،

نستخدم المُعامِل أصغر يساوي (<=).  

 

 

مثال:   نفحص ما إذا كان 3 أصغر من أو يساوي 4.

 

print(3 <= 4)   # True

 

يطبع True لأن 3 أصغر من 4.

 

 

مثال:  نفحص ما إذا كان 3 أصغر من أو يساوي 3.

 

print(3 <= 3)  # True

 

يطبع True ، لأن 3 يساوي 3

 

·       باستخدام المُعامِل <= نحصل على True، إذا كان الرقم الموجود على يسار العامل ليس أكبر من الرقم الموجود على يمينه.

 

 ----------------------------------------------------------------------------------------

 

وبالمثل، يتم تعريف المُعامِل أكبر من أو يساوي.

·       للتحقق مما إذا كانت قيمة ما أكبر من أو تساوي قيمة أخرى،

نستخدم المُعامِل أكبر يساوي (<=).

 

مثال:    نفحص ما إذا كان 3 أكبر من أو يساوي 4.

 

print(3 >= 4)    # False

النتيجة تعنى، أن 3 ليس أكبر من 4 أو تيساويها.

 

 

مثال:   نفحص ما إذا كان 3 أكبر أو يساوي 3.

 

print(3 >= 3)   # True

 

طبعا صحيح، لأن 3 يساوي 3.

 

 

 

 

 تمارين

 

 

 

 

  تمارين            

 

 

  

 

سؤال

 

ما هي العملية المستعملة لمقارنة عددين متساويين؟

 

(a)

=

(b)

==

(c)

+=

(d)

!=

 

 

الإجابة: ( b  )

 

 

  

 

سؤال

 

ما هي العملية المستعملة لمقارنة عددين مختلفين؟

 

 

(a)

=

(b)

==

(c)

+=

(d)

!=

 

 

الإجابة: (_d_)

 

 

  

 

 

سؤال

 

ما الناتج من الكود التالي؟

 

print (3 >= 3)

 

    أ)  3 >= 3     ب) True     ج) False      د)  None

 

الإجابة: (_B _)

 

  

 

سؤال

 

ما هو المخرج من الكود التالي:

 

print (0.1 + 0.2 == 0.3)

 

    أ)  True      ب) False       ج) الحاسب سوف يتجمد        د)  رسال خطأ – Error

 

 

 

  

  

  

 

 

 

سؤال:

جد المخرج الذي ينتج من كل أمر من الكود التالي:

 

المخرج

الكود البرمجي

3 == 4 False 

3 ! = 4 True 

3 < 4 True

3 > 4 False  

print ('3 == 4', 3 == 4)

print ('3 != 4', 3 != 4)

print ('3 < 4', 3 < 4)

print ('3 > 4', 3 > 4)

  

  

 

  

 

 

 

تمرين     (من التفتيش -الوزارة)

 

أمامك الأوامر التالي ، أكتب المخرج المناسب لكل برنامج :

 

المخرج

الأمر

4==3 False

print ('4==3', 4==3)

3!=4 True

print ('3!=4 ', 3!=4)

5>3 True

print ('5>3 ', 5>3)

5<3 False

print ('5<3 ', 5<3)

false + False 0

print ('False + False',False + False)

True + True 2

print ('True + True', True + True)

True + False 1

print ('False + True', False + True)

True * False 0

print ('True * False', True * False)

 

 

  

 

سؤال:

معطى الأمر التالي:   print (True/True) 

جدوا المخرج (ماذا سوف يُعرض على الشاشة) ?  1/1=1

 

  

 

سؤال:

ماذا سيطبع الأمر التالي:

 

print(3*2 != 6)

 

 

الحل:  المخرج  False ، السبب: غير صحيح أن العدد 6 يختلف عن 6

 

 

  

 

سؤال:

عليكم تغيير قيم المتغيرات x, y, z بحيث نتيجة التمرين في جميع الأسطر تكون True

 

 

توجد عدة أمكانيات

 

x = 5

y = 7.5

z = 13

 

x = 0

y = 0

z = 0

print(x + y < z)

print(3*x == 2*y)

print(z < 20)

print(x + 1 == 6)

print(y / 3 >= 2)

 

 

  

 

 

سؤال:

 

ما هو المخرج من الكود التالي:

 

 

 

False  

 True   

False  

 True   

False  

 True   

a = 13

b = 33 

print (a > b)

print (a < b)

print (a == b)

print (a != b) 

print (a >= b)

print (a <= b)

 

عمليات المقارنة النسبية تقوم بمقارنة القيم. هي ترجع القيمة أما True أو False حسب الشرط.

 

 

  

 

 

سؤال

 

معطاة التعليمات التالية:

 

a = 2
b = 4
text = "2018"

 

ما الذي سيتم طباعته في كل أمر إخراج (وفقًا للتعليمات المعطاة)؟

 

True 

print (a != b) 

False 

print (a == b)

True 

print (a < b)

False 

print (text == "2017")

  1

print (False + True)

  2 

print (True + True)

  0 

print (False * True)

  8

print (48 % 10)

 

 

  

 

 

 

تمرين

اكتب برنامج يستقبل عدداً،

على البرنامج أن يطبع True اذا كان العدد موجباً، خلاف ذلك يطبع False.

 

num = _____

 

print (num > 0)

 

 

 

  

 

تمرين

اكتب برنامجا يستقبل عددين،  

البرنامج يطبع True اذا كان مجموع العددين اكبر من 150 خلاف ذلك يطبع False.

 

a, b = ___ , ___

 

print (a+b > 150)  # True or False

 

 

 

 

  

 

سؤال 4 (دورة، جامعة تل ابيب)

 

أفحص هل العدد   أكبر من العدد    ؟

لقد تعلمنا في الدروس عن عملية المقارنة في بايتون التي تُرجع القيمة True أو False وفقاً لنتيجة المقارنة.

ما هو أمر المقارنة الصحيح في بيثون الذي يمكننا من خلاله الإجابة عن السؤال؟

 

(a)

الأمر x > y

(b)

الأمر x < y

(c)

الأمر x != y

(d)

الأمر x ? y

  

الحل: (a)      

 

 

 

 

  

 

 

(إثراء)  

 

None    

 

تمعن في الجدول التالي وفي المخرج الناتج:

 

None

<class 'NoneType'>

False

print (None)

print (type(None))   

print (bool(None))

 

الشيء المميز لــ None هو أنها ليست قيمة رقمية 0، وليست القيمة الفارغة لأي نوع بيانات معين،

إنما هي كائن يعبر عن القيمة الفارغة (القيمة الخالية)، ويعني لا شيء.

كما نرى في الجدول:

·       نوعه يدعى NoneType.

·       قيمتة المنطقية False.

 

 

print (id(None))    # 1795884240

print (None == 0)   # False

print (None == '')  # False

a = None            # a = 1795884240

print (id(a))       # 1795884240

print (a == None)   # True

 

 

سؤال

 

ما هو المخرج من الكود التالي، اكمل الأماكن الناقصة:

 

 

True     

False   

x = None; y = None

print (x == y)

print (None == 0)

 

 

 

 

 

 

 

تعرفنا على بعض العمليات الحسابية الأساسية،

وتعلمنا كيفية حفظ القيم في المتغيرات واستخدامها،

كما رأينا كيف تتم مقارنة القيم العددية. 

 

سؤال: هل جميع الحسابات في بايثون مرتبطة بالأرقام؟

كما سنرى لاحقاً – الجواب لا.

 

 

 

  

 

 

 

 

 

   

 

 

 

   

 

 

 

Daliaty School – Copywrite  2023

wahbem@gmail.com | https://daliaty.com

 

 

 

 

 

<meta name="viewport" content="width=device-width, initial-scale=1">