|
بايثون – ôéúåï – 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 |
ما
الذي سيتم
طباعته في كل
أمر إخراج
(وفقًا للتعليمات
المعطاة)؟
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">