|
بايثون – פיתון – python
(1)
الشرط – if
الشرط
– if (condition - פקודת תנאי)
الجملة
الشرطية (התניה):
المبرمج
يستطيع كتابة
برامج التي لا
تقوم دائماً
بنفس العمل،
يمكن أن نضع
بها مراحل يتم
اتخاذ قرار:
إذا
شرط معين تحقق
– إذهب
ونفذ مسار
معين، وإذا
لا إذهب
ونفذ مسار آخر.
مبنى
أمر الشرط if
if عبارة
الشرط : تعليمات
للتنفيذ إذا
تحقق الشرط |
· if هو
أمر شرط (إذا).
· إذا
كانت قيمة عبارة
الشرط True، نقول ان
الشرط تحقق.
إذا كانت
قيمة عبارة
الشرط False،
نقول ان
الشرط لم
يتحقق.
·
في نهاية
الجملة
الشرطية توجد نقطتان :_
الأوامر
التي يتم
تنفيذها بعد
الشرط تأتي بعد
إزاحة
مقدارها
مسافتين
(أو بعد 4
مسافات أن
رغبت بذلك،
بواسطة مفتاح
الـ Tap على
لوحة
المفاتيح).
ماذا يفحص
أمر الشرط؟
امر الشرط
يفحص العلاقة
بين قيمتين
(أو أكثر).
مثل أكبر >، أصغر < ،
يساوي ==، يختلف != ، ...
أمثلة:
أ) |
if 5 > 4: print
("5 is greater than 4") |
الشرط 5 > 4 قيمته
True،
لذلك يطبع:
5
is greater than 4
ب) |
if 9 !=
5: print
("!=") |
الشرط 9 != 5
قيمته True، لذلك
يطبع: !=
ج) |
x = 20 y = 12 if x > y: print
(x,">",
y) |
الشرط يتحقق لأن x > y الذي
هو 20 > 12 قيمته True،
لذلك يطبع
على الشاشة العبارة: 20 > 12
د) |
x = 20 y = 25 if x > y: print
(x,">",
y) |
الشرط لا
يتحقق لأن
التعبير x > y الذي
هو 20
> 25 قيمته
False ،
لذلك لا يطبع
أي شيء على
الشاشة.
ه) |
n1, n2 = 5,
10 if n1 == n2: print
("=") |
· ما
هي نتيجة
الشرط؟
· هل
نحصل على
طباعة لــ "="
الحل: نفحص
هنا مساواة
بين قيمتين.
نتيجة الشرط False لذلك لا يطبع
أي شيء على
الشاشة.
و) |
n1, n2 = 10, 10 if n1 == n2: print ("=") |
· ما
هي نتيجة
الشرط؟
·
هل نحصل
على طباعة لــ
"="
الحل: نفحص
هنا مساواة
بين قيمتين.
نتيجة الشرط True لذلك يطبع على
الشاشة =
ز) |
if True: print ("Hi") |
لا يوجد شرط
معين، ولكنه
أخذ النتيجة True (الشرط
تحقق) لذلك يطبع: Hi
ح) |
if False: print ("Hi") |
لا يوجد شرط
معين، ولكنه
أخذ النتيجة False (الشرط
لم يتحقق)،
لذلك لا يطبع
أي شيء.
الإزاحة
- (القيمة
البادئة – הזחה، Indentation):
تعتمد
بايثون على
المسافة
البادئة
(الإزاحة،
باستخدام
المسافات)،
وهي لتعريف
النطاق في
الكود (block).
لغات
البرمجة
الأخرى
غالباً ما
تستخدم أقواساً
معقوفة لهذا
الغرض { }.
التصريح if، بدون مسافة
بادئة (إزاحة)
سيعطينا رسالة
خطأ.
مثال:
عند تشغيل
الكود التالي
سنحصل على
خطأ:
a = 33 |
المشكلة
أننا لم نضع
مسافة في
البداية
مثال:
num = 100 if num == 100: print
("The
Value is 100") print
("Excellent") print ("Good bye!") |
سيطبع
(المخرج): The Value is 100 Excellent Good bye! |
ماذا
سيطبع إذا
استبدلنا
السطر الأول
بـقيمة أخرى،
مثلا num = 200 ?
الحل: سوف
يطبع Good
bye!
لم يتحقق
الشرط، لذلك
التعليمات
التابعة له لا
تنفذ، سينفذ
السطر الأخير
وهو غير تابع
للشرط.
تــــمــــارين
سؤال1
(تعريف
الشرط)
أي من التالي
يعتبر امر
صحيح في الشرط
if ، في لغة
بايثون ؟
a) if a >= 22: b) if (a >= 22) c) if (a => 22) d) if a >= 22 |
الحل: if a >= 22:
سؤال
المصطلح block - كُتلة
أو نِطاق من
الكود.
مجموعة
الأوامر
البرمجية
التي تأتي مع
مسافات بادئة (تمت
إزاحتها
بفراغات)
وتعبر عن
كتلة أو نطاق
من الكود
ماذا
يستعمل في
بايثون لتعريف
كُتلة من الكود
(block ، كُتلة
، نطاق ) ؟
a)
الإزاحة –
المسافات
البادئة
(فراغات) b)
الأقواس المعقوفة
} { c)
الأقواس (
) d)
إشارات
الاقتباس " " |
الحل: a) الإزاحة
– المسافات
البادئة
(فراغات)
سؤال
تمعن في الإدعاء
(القول)
التالي:
في المقطع
البرمجي الذي
يحوي الصيغة
الشرطية if-elif-else
البرنامج يقوم
بتنفيذ
كُتلة واحده فقط من
الكود من بين عدة كُتل
جد العبارة
الصحيحة؟
a)
القول صحيح b)
القول غير
صحيح c)
هذا يتعلق
بالتعبير
الذي
نستخدمه d)
elif
غير موجود في
لغة البايثون
|
الحل: (a)
سؤال
None هي
قيمة خاصة في البايثون وتعني
لا شيء (فارغ،
خالي) وقيمتها False
إستنادا إلى
هذا، جد المخرج
الناتج من
الكود التالي؟
if None: print ("Hello") |
أحط الإجابة
الصحيحة:
( أ ) False (ب) True (ج)
لا
يطبع شي
(د) يطبع Hello
الحل: ( ج )
سؤال (مقارنة
بين أعداد)
أكمل
الأماكن
الناقصة.
أ) أطبع
العبارة "Hello World"
إذا a أكبر
من b.
a = 50 b = 10 if a > b : print
("Hello World") |
ب) أطبع
العبارة "Hello World" إذا a لا
يساوي لـ b.
a = 50 b = 10 if a != b : print ("Hello
World") |
سؤال (مقارنة
بين أعداد)
a = int(input("a=")) b = int(input("b=")) if a > b : a =
b print (a, b) |
ماذا
يكون المخرج
إذا كانت
المدخلات:
(أ)
المدخل
الأول 10 والثاني
20
الشرط
لا يتحقق،
يطبع 10 20
(ب) المدخل
الأول 20
والثاني 10
الشرط
يتحقق، a يأخذ
قيمة b
(قيمة a السابقة
يتم حذفها )
المخرج 10 10
سؤال (فحص
شرط ،
الانقسام)
أكتبوا
برنامج الذي
يقرأ عدداً
صحيحاً ويطبع
الرسالة "even"
فقط إذا كان
هو عدداَ
زوجياً.
a = int(input("number=")) if a % 2 == 0 : print ("even") |
سؤال
أكمل
الأماكن
الناقصة في كل
شرط من الشروط
التالية.
أ)
نريد أن نفحص
إذا كانت قيمة
grade مساوية
للعلامة 97.
if grade == 97
|
ب) نريد
أن نفحص إذا
كانت قيمة n مختلفة عن no.
if n != 'no' : |
ج) أكتب
شرط يفحص إذا
كانت قيمة x ليست
سالبة
if x >= 0 : |
د) أكتب
شرط يفحص إذا m عدد
زوجي (ينقسم
على 2 بدون
باقي)
if m % 2 ==
0 : |
هـ) أكتب
شرط يفحص إذا m من
مضاعفات الـ 7 (ينقسم
على 7 بدون
باقي)
if m % 7 ==
0 : |
و) أكتب
شرط يفحص تحقق
المساواة
تذكر:
if a*a + b*b == c*c : |
-------------------------------------------------------------------------------------------------------------------------
الحل:
if a*a + b*b == c*c :
أو if a**2 + b**2
== c**2 :
عند كتابة
الحل لا تعمل
مسافات –
فراغات
إمكانيات
القوى: | a*a | a * a | a**2 | a ** 2
سؤال
أكتب
برنامج يقرأ 3
أعداد. على
البرنامج أن
يفحص إذا
هذه الأعداد
يمكن أن تشكل
زوايا مثلث
(مجموعها هو 1800)،
إذا تحقق
الشرط البرنامج
يطبع True،
وإلا يطبع False.
الحل:
a = int(input("a=")) b = int(input("b=")) c = int(input("c=")) if a + b + c == 180: print ('a
b c ', 'زوايا
مثلث') |
سؤال (مقارنة
بين أعداد،
العدد الأكبر)
أكتب
برنامج يقرأ
عددان إلى
متغيرين.
البرنامج
يحسب العدد
الأكبر،
ورسالة ملائمة
إذا العددان
متساويان.
x = float(input("n1=")) y = float(input("n2=")) max
= x if y > max: max = y print ('max=', max) if x == y: print ("equal") |
تمرين (مقارنة
مع عدد،
المصدر فيراس)
إذا
اشترينا وجبة
وشراب بمبلغ
أكبر من 100 شيكل نحصل
على
تخفيض (خصم)
بقيمة 15% من
الثمن الكلي.
أكتبوا
برنامج يقرأ
ثمن الوجبة
وثمن الشراب.
البرنامج
يطبع ثمن
الوجبة. وفي
جميع الحالات يطبع
'صحتين'.
يجب
اختيار أسماء
لها معنى
للمتغيرات.
الحل:
وجبة – מנה – mana
شراب – שתיה – shtia
أكمل
الأماكن
الناقصة.
mana = float(input('price of mana')) shtiya = float(input('price of shtia')) total = mana + shtiya if total > 100 : total = total * 0.85
print ('pay ', total) print ('sahten') |
سؤال (تصحيح
أخطاء، مفمار)
أمامكم
برنامج الذي يقرأ
علامة
طالب، إذا نجح
يطبع
رسالة ملائمة.
في
البرنامج وقع خطأ.
جده؟ افترض أن
القيمة المدخلة
صحيحة.
grade = int(input("type
your grade=")) if (grade >=
55):
message = "you pass"; print(message) |
i.
المتغير message يحتوي
على قيمة فقط
في حال الشرط
يتحقق
ii.
لا
يوجد خطأ في
البرنامج
iii.
المتغير message يحتوي
على قيمة فقط
في حال الشرط
لا يتحقق
iv.
المشكلة
في الشرط if
الحل: ( a )
الحل:
المتغير message يحصل على قيمة
فقط في حال
الشرط يتحقق (True).
نوضح: نفرض أن
القيمة
المدخلة 50 (grade=50) الشرط
لا يتحقق،
عندما يصل
البرنامج إلى
تنفيذ أمر
الطباعة: print(message)
هنا توجد
مشكلة، لإنه
لا توجد قيمة
للمتغير message.
البرنامج
سوف يعلن عن
خطأ نحصل على
الرسالة:
NameError: name
'message' is not defined
سؤال
(לקט בין תחומי הרצליה_
לידי דיויס, שאלות ב-
if פשוט)
·
اقرأ
عدد الدقائق.
أطبع عدد
الساعات فقط
إذا عدد
الساعات كان
ساعات كاملة
(بدون دقائق).
time = int(input(' Enter time in menits'))
if time % 60 == 0 :
print ('Hours', time//60) |
سؤال (לקט בין תחומי הרצליה_
לידי דיויס, שאלות ב-
if פשוט)
· اقرأ
عدد ثنائي
المنزلة. أطبع
"nice"
إذا كانت
المنزلتان
متساويتان.
num = int(input(' Enter a number - two digits')) if num % 10 == num // 10 :
print ('nice') |
سؤال (לקט בין תחומי הרצליה_
לידי דיויס, שאלות ב-
if פשוט)
· اقرأ عددان.
أطبع "power" إذا
كان العدد
الأول ضعف
العدد
الثاني؟
num1 = int(input(' num1')) num2 = int(input(' num2')) if num1 == num2 *
2 :
print ('power') |
سؤال (לקט בין תחומי הרצליה_ לידי דיויס,
שאלות ב- if פשוט)
· اقرأ
مقياس درجات
الحرارة ليوم
أمس واليوم، واطبع
"ارتفاع في
الحرارة" إن
وجد ارتفاع في
درجة الحرارة.
yesterday = int(input(' Enter tem
yesterday')) today = int(input(' Enter tem
today')) if today > yesterday :
print('ارتفاع
في الحرارة') |
سؤال (לקט בין תחומי הרצליה_ לידי דיויס,
שאלות ב- if פשוט)
أكتب
برنامج يقرأ
عدد إلى
المتغير x.
إذا كان
العدد سالباً
(أصغر من صفر)،
البرنامج يجد
قيمته
المطلقة
وذلك من
خلال تغيير
قيمة المتغير x.
x = int(input(' Enter a number:')) if x < 0 : # فحص
إذا العدد
سالب
x = -x
# xتغيير
إشارة
المتغير
print (x) |
--------------------------------------------------------------------------------------------------------------
Daliaty School – Copywrite 2023
wahbem@gmail.com | https://daliaty.com
<meta name="viewport" content="width=device-width,
initial-scale=1">