"وإلّا-إذا"
elif
مقدمات
© כל הזכויות שמורות למרכז לחינוך סייבר מיסודה של קרן רש"י ולקרן טראמפ
מבואות
ماذا تشمل المعروضة
أصابع على لوحة المفاتيح
تلخيص
نخطط دائمًا!
نتعرّف على elif
ماذا يحتاجون منا في محل البيتزا؟
ماذا تعلّمنا؟
ماذا تعلّمنا؟
مراجعة
ماذا تعلّمنا؟
اضغطوا للإجابة >
اضغطوا للإجابة >
مراجعة
كل واحد من السعرين هو على الأقل 100 شيكل
ما هي الجملة الملائمة لكل تعبير منطقي؟
price1 >= 100 and price2 >= 100
أ
على الأقل أحد السعرين هو 100 شيكل أو أكثر
على الأقل أحد السعرين هو بالضبط 100 شيكل
كل واحد من السعرين لا يساوي 100 شيكل
كل واحد من السعرين أكبر من 100 شيكل
د
price1 != 100 and price2 != 100
ج
price1 == 100 or price2 == 100
ب
price1 >= 100 or price2 >= 100
ماذا تشمل المعروضة
أصابع على لوحة المفاتيح
تلخيص
نخطط دائمًا!
نتعرّف على elif
ماذا يحتاجون منا في محل البيتزا؟
ماذا تعلّمنا؟
ماذا يحتاجون منا في محل البيتزا؟
مراجعة
وإلّا، راح نزيد تكلفة التوصيل بقيمة 10 شيكل....
عنا في محل البيتزا، إذا بطلبوا أكتر من 5 صواني، التوصيل بكون مجاني...
بس...
بابا بيتزا
ماذا يحتاجون منا في محل البيتزا؟
مهمة
برأيي، مفضل كمان نعطي تخفيض في تكلفة التوصيل للي بطلبوا بالضبط 5 صواني!
بابا بيتزا
نقاش
يجب أن نتعامل مع 3 حالات مختلفة:
أكثر من 5 صواني - التوصيل مجاني
بالضبط 5 صواني - توصيل بسعر مخفض 5 شيكل
أقل من 5 صواني - تكلفة التوصيل 10 شيكل
كيف نحل ذلك بواسطة ما تعلمناه لغاية اليوم؟
اضغطوا للإجابة >
الحل - بواسطة ما تعلمناه لغاية اليوم
نقاش
بواسطة ما تعلمناه لغاية اليوم، يمكننا مثلًا أن نكتب 3 شروط منفصلة:
إذا طلبوا أكثر من 5 صواني:� التوصيل مجاني
إذا طلبوا بالضبط 5 صواني:� التوصيل بـ 5 ش.ج
إذا طلبوا أقل من 5 صواني:� التوصيل بـ 10 ش.ج
لكن... هناك طريق مختصر! >
بدون حملة
ماذا تشمل المعروضة
أصابع على لوحة المفاتيح
تلخيص
نخطط دائمًا!
نتعرّف على elif
ماذا يحتاجون منا في محل البيتزا؟
ماذا تعلّمنا؟
نتعرّف على elif ("وإلّا-إذا")
عندما تكون لدينا أكثر من حالتين ممكنتين، يمكن استخدام المبنى المختصر elif.
الكلمة elif هي عمليًا دمج للكلمة else وبعدها فورًا الكلمة if.
إذا طلبوا أكثر من 5 صواني:
التوصيل مجاني
إذا طلبوا بالضبط 5 صواني:
التوصيل بـ 5 ش.ج
إذا طلبوا أقل من 5 صواني:
التوصيل بـ 10 ش.ج
إذا طلبوا أكثر من 5 صواني:
التوصيل مجاني
وإلّا-إذا طلبوا بالضبط 5 صواني:
التوصيل بـ 5 ش.ج
وإلّا:
التوصيل بـ 10 ش.ج
انتبهوا: الطريقتان صحيحتان، لكن الطريقة الجديدة أكثر فعاليّة. سنفهم السبب فيما بعد.
elif - ما الجدوى من ذلك؟
إذا طلبوا أكثر من 5 صواني:
التوصيل مجاني
وإلّا-إذا طلبوا بالضبط 5 صواني:
التوصيل بـ 5 ش.ج
وإلّا:
التوصيل بـ 10 ش.ج
لماذا نحتاج لذلك؟ كنا نتدبّر الأمور مع if....
elif - كيف نبرمج ذلك؟
if pizza > 5:
print("التوصيل مجاني")
elif pizza == 5:
print("تكلفة التوصيل 5 ش.ج")
else:
print("تكلفة التوصيل 10 ش.ج")
إذا طلبوا أكثر من 5 صواني:
التوصيل مجاني
وإلّا-إذا طلبوا بالضبط 5 صواني:
التوصيل بـ 5 ش.ج
وإلّا:
التوصيل بـ 10 ش.ج
elif
بعدها تعبير منطقي، ونقطتين
سطر كود واحد على الأقل، مسافة بادئة
كل الشروط على نفس المستوى،�الـ else تكون دائمًا الأخيرة
لنتذكر معًا شرط القبول لبرنامج OnTop
سؤال
كيف نطبع رسالة خاصة لمن جيلهم 12 بالضبط؟�استخدموا "وإلّا-إذا"
إذا كان الجيل أكبر من 12:
"أهلًا بكم في برنامج OnTop!"
وإلّا:
"للأسف"
إذا كان الجيل أكبر من 12:
"أهلًا بكم في برنامج OnTop!"
وإلّا-إذا كان الجيل 12 بالضبط:
"السنة القادمة..."
وإلّا:
"للأسف"
اضغطوا للإجابة >
اضغطوا للإجابة >
اضغطوا للإجابة >
سؤال
ماذا سيطبع البرنامج إذا كان الجيل الذي يستقبله 75؟�اختاروا كل الرسائل الصحيحة:
age = int(input("Enter your age: "))
if age > 12:
print("Welcome to OnTop!")
elif age == 12:
print("Next year...")
elif age > 70:
print("Too late")
else:
print("Too bad")
print("Bye")
اضغطوا للإجابة >
سيطبع (1) ثم سيطبع (5). �انتبهوا أن البرنامج يتوقف عن فحص الشروط بعد الشرط الأول الذي يتحقق!
اضغطوا للإجابة >
توضيح
age = int(input("Enter your age: "))
if age > 12:
print("Welcome to OnTop!")
elif age == 12:
print("Next year...")
elif age > 70:
print("Too late")
else:
print("Too bad")
print("Bye")
75
Welcome to OnTop!
Bye
سؤال
سؤال استكمال :)
كيف نغير البرنامج لكي يطبع Too late لمن هم فوق جيل 70؟
age = int(input("Enter your age: "))
if age > 12:
print("Welcome to OnTop!")
elif age == 12:
print("Next year...")
elif age > 70:
print("Too late")
else:
print("Too bad")
print("Bye")
اضغطوا للأفكار >
يمكن أن نغير الشرط الأول ليصبح شرطًا مركّبًا:�age > 12 and age <= 70
اضغطوا للأفكار >
يمكن الاستبدال بين الشرط الأول والشرط قبل الأخير
ماذا تشمل المعروضة
أصابع على لوحة المفاتيح
تلخيص
نخطط دائمًا!
نتعرّف على elif
ماذا يحتاجون منا في محل البيتزا؟
ماذا تعلّمنا؟
نخطط دائمًا!
قبل أن نبدأ التمرين في كولاب، تعالوا نخطط على ورقة (بمساعدة مخطط جريان أو العربية البنيوية) أحد التمارين التي تنتظرنا هناك. استخدِموا في التخطيط الجُمل الظاهرة في مخزن الجمل.�فيما يلي التمرين:
مهمة
مخزن الجمل:
اطبع اللون
اطبع “اللون جميل جدًا :)”
اطبع “اللون ليس جميلًا :(”
הדפס “لا رأي لي”
استقبل اللون (color)
هل اللون بنفسجي؟ (أو لون مفضّل آخر)
هل اللون زهري؟ (أو لون مكروه آخر)
�اكتبوا برنامجًا يستقبل اللون (بالعربية أو الإنجليزية).�إذا كان هذا لونكم/ن المفضل، اطبعوا رسالة سعيدة.�إذا كان هذا لونكم/ن المكروه، اطبعوا رسالة حزينة.�إذا كان ذلك أي لون آخر، اطبعوا "لا رأي لي بخصوص اللون".�في جميع الأحوال، اطبعوا اللون.
اضغطوا للإجابة >
التخطيط بمساعدة مخطط جريان وبواسطة العربية البنيوية
المخطط
"العربية البنيوية"
هل اللون بنفسجي؟
استقبِل اللون
اطبع: “اللون جميل جدًا :)”
اطبع اللون
نعم
استقبل اللون (color)
إذا كان اللون بنفسجيًا:
اطبع “اللون جميل جدًا :)”
وإلّا-إذا كان اللون زهريًا:
اطبع “اللون ليس جميلًا :(”
وإلّا:
اطبع “لا رأي لي”
اطبع اللون
اطبع: “اللون ليس جميلًا :(”
لا
هل اللون زهري؟
نعم
اطبع: “لا رأي لي”
لا
ماذا تشمل المعروضة
أصابع على لوحة المفاتيح
تلخيص
نخطط دائمًا!
نتعرّف على elif
ماذا يحتاجون منا في محل البيتزا؟
ماذا تعلّمنا؟
لحظة قبل لوحة المفاتيح
سؤال
safa = input("choose language: English / French / Spanish: ")
if safa == "English":
print("Hello")
elif safa == "French":
print("bonjour")
elif safa == "Spanish":
print("Hola")
elif:
print("مرحبا")
اضغطوا للإجابة >
كتبت برنامجًا يكتب كلمة "مرحبا" باللغة التي يتم اختيارها.
إذا لم يتم اختيار لغة، يكتب البرنامج "مرحبا" باللغة العربية.
أين يوجد خطأ؟
اضغطوا للإجابة >
مسافة بادئة زائدة
الشرط الأخير هنا يجب أن يكون else
أصابع على لوحة المفاتيح
يجب تقديم البنود 6-1
ماذا تشمل المعروضة
أصابع على لوحة المفاتيح
تلخيص
نخطط دائمًا!
نتعرّف على elif
ماذا يحتاجون منا في محل البيتزا؟
ماذا تعلّمنا؟
ماذا تعلمنا اليوم؟
تلخيص
عندما تكون لدينا أكثر من حالتين ممكنتين، �يمكن استخدام المبنى المختصر elif.
والآن - لغزان!
ماذا سيطبع البرنامج؟
سؤال
اضغطوا للإجابة >
ماذا سيطبع البرنامج للمُدخَل 10؟
ماذا سيطبع البرنامج للمُدخَل 6؟
ماذا سيطبع البرنامج للمُدخَل 7؟
للمُدخَل 10: أنا أقبل القسمة على 5
للمُدخَل 6: أنا أقبل القسمة على 3
للمُدخَل 7: أنا لا أحبّ القسمة
اضغطوا للإجابة >
استقبل عددًا
إذا كان العدد يقبل القسمة على 5:
أطبع "أنا أقبل القسمة على 5"
وإلّا-إذا كان العدد يقبل القسمة على 3:
أطبع "أنا أقبل القسمة على 3"
وإلّا-إذا كان العدد يقبل القسمة على 2 (زوجي):
أطبع "أنا عدد زوجي"
وإلّا:
اطبع "أنا لا أحبّ القسمة"
ماذا يجب أن نغير؟
سؤال
اضغطوا للإجابة >
ماذا يجب أن نغير في الكود إذا أردنا مثلا أن يطبع البرنامج للمُدخَل 10 بانه يقبل القسمة على 5 ويطبع أيضًا أنه زوجي؟
يمكن الفحص ما إذا كان العدد زوجيًا بواسطة بواسطة شرط if بشكل منفصل عن مبنى الشروط في هذا الكود. يمكن أيضًا كتابة شرط مركّب.
اضغطوا للإجابة >
استقبل عددًا
إذا كان العدد يقبل القسمة على 5:
أطبع "أنا أقبل القسمة على 5"
وإلّا-إذا كان العدد يقبل القسمة على 3:
أطبع "أنا أقبل القسمة على 3"
وإلّا-إذا كان العدد يقبل القسمة على 2 (زوجي):
أطبع "أنا عدد زوجي"
وإلّا:
اطبع "أنا لا أحبّ القسمة"
نراكم في اللقاء القادم
مقدمات
© כל הזכויות שמורות למרכז לחינוך סייבר מיסודה של קרן רש"י ולקרן טראמפ
מבואות