|
بايثون – פיתון – python
(2) الشرط
– if..else
الشرط if..else
أحيانا
نريد أن نقوم
بتنفيذ
تعليمات
معينة عندما لا
يتحقق الشرط.
في
هذه الحالة
نستعمل else.
مبنى
أمر الشرط if
·
في نهاية
الجملة
الشرطية توجد نقطتان :_
·
انتبه
لموضوع
الإزاحة في كل
مقطع (block).
if عبارة
الشرط: تعليمات
للتنفيذ إذا
تحقق الشرط else: تعليمات
للتنفيذ إذا
لم يتحقق
الشرط |
تستعمل else عندما
جميع الشروط
السابقة لم
تتحقق.
else تعني "وإذا
لا" ، إذا لم
يتحقق أي من
الشروط
السابقة، אחרת).
مثال:
a = 3 b = 8 if a > b: print
(a,">", b) else: print
(a, "<=", b) |
الشرط لا
يتحقق (قيمته False)،
لذلك تنفذ
التعليمات
التابعة لــ else
المخرج: 3 <= 8
فحص
مساواة (==)
يجب
أن نُميّز بين
الحالتين:
تعويض
قيمة في متغير:
· a = 5 ، هذا أمر
إسناد قيمة في
متغير.
هنا خزنا 5 في
المتغير a
نتيجة الأمر يؤدي لتغيير
قيمة a.
تساؤل، فحص
مساواة بين
قيمتين:
· a == 5 ، هذا
معناه هل
القيمة
المخزنة في a مساوية
للعدد 5.
· x
== y ، هل القيمة
المخزنة في
المتغير x مساوية
للقيمة
المخزنة في
المتغير y.
نتيجة
للأمر، لا
تتغير قيمة أي
واحد من المتغيرات،
هذا سؤال،
والسؤال لا
يُحدث تغيير.
مثال (فحص
مساواة في
الأعداد)
أكتب
برنامج يقرأ
عددين (ممكن
أعداد عشرية).
على
البرنامج أن
يفحص ويتحقق
إذا كان
العددين
متساويين.
إذا كان العددين متساويين يطبع "equal" (متساويان)
وإذا لم يكونا متساويين يطبع "different" (مختلفان)
الحل:
n1 = float(input("num1=")) n2 = float(input("num2=")) if n1 == n2: print ("equal") else: print ("different") |
مثال (فحص
مساواة في
النصوص - str)
أكتب
برنامج يقرأ
أسم شخص.
على
البرنامج أن
يتحقق إذا كان
الاسم المُدخل
هو Amer.
·
إذا
كان الاسم
المدخل Amer، البرنامج
يطبع "Welcome
Amer"
·
إذا
لم يكون Amer يطبع " "you
are not Amer
أنتبه:
عند إدخال
الاسم Amer، الحرف
الأول هو حرف
كبير.
مثال:
الُمدخل Name? Amer
welcome Amer
name=input("name ?") if
name == "Amer": print ("welcome
Amer") else: print ("you
are not Amer") |
تــمـــاريــــن
سؤال (مساواة
بين أعداد)
أكمل
الأماكن
الناقصة.
أطبع yes
إذا
كان a مساوياً
لـ b،
وإلا (غير ذلك)
أطبع "no"
a = 50 b = 10 if a == b : print ("yes") else: print ("no") |
سؤال (مقارنة
بين أعداد،
العدد الأكبر)
برنامج
يقرأ عددين
ويجد العدد
الأكبر من بينهما.
حل (أ)
a = int(input("Number1=")) b = int(input("Number2=")) if a > b: max = a else: max = b print ("max=", max) |
حل (ب)
a = int(input("Number1=")) b = int(input("Number2=")) max = a if b > max: max = b print("max=", max) |
سؤال
اكتب
برنامج يقرأ
علامة طالب في
موضوع الحاسوب،
ويبلغه هل هو
ناجح أم راسب.
اعتبر
أن علامة
النجاح من 55
وصاعدا.
ناجح:
pass، راسب: fall
grade = int(input("grade=")) if grade >= 55: print ("pass") else: print ("fall") |
سؤال
أكتب
تعبير ملائم
للعبارة:
إذا a يختلف عن b اطبع good،
وإذا لا اطبع bad
if a != b: print ('good') else: print ('bad') |
سؤال (جد
المخرج حسب
المدخل)
معطى الكود
التالي:
height = float(input("Enter
your height: ")) if height > 1.6 : print("basketball team") else: print("football team") |
وظيفة
العملية float()،
في السطر
الأول، تحويل
العدد
المُدخل إلى
عدد عشري.
بالنسبة
لكل واحد من
المُدخلات
سجل ما هو المخرج
؟
أ ) للمدخل
1.75 : (a) basketball team (b) football team
ب) للمدخل
1.60 : (a) basketball team (b) football team
ج) للمدخل
1.45 : (a) basketball team (b) football team
د) للمدخل
1.65 : (a) basketball team (b) football team
الحل:
أ )
للمدخل 1.75 : basketball team ب)
للمدخل 1.60 : football team ج ) للمدخل 1.45
: football team د ) للمدخل 1.65
: basketball team
|
تفسير:
height = float(input("Enter
your height: ")) if height > 1.6 : print("basketball team") else: print("football team") |
أ) المدخل 1.75 : if (height > 1.6) :
if
True : ==> basketball team |
ب) المدخل 1.60 : if (height > 1.6) : if False : ===> football team |
ج) المدخل 1.45 : if (height > 1.6) : if
False
:
===> football team |
د) المدخل 1.65
: if (height > 1.6) : if
True
:
===> basketball team |
سؤال
أكتب
برنامج يقرأ
وزن شخص
بالكيلو
غرامات الصحيحة.
إذا
الوزن أقل من 50
كغم يطبع "normal"
وإذا لا،
يطبع "not normal"
الحل
إدخال
الوزن الشرط طباعة
رسالة إذا
لم يتحقق طباعة
رسالة |
weight = 1 ( 2 ("weight=")) 3 4 5 6 : 7 ("normal") 8 9 ("not normal") |
الحل
إدخال
الوزن الشرط طباعة
رسالة إذا لم
يتحقق طباعة
رسالة |
weight = int(input("weight=")) if weight < 50 : print("normal") else: print("not normal") |
إمكانيات:
int, input, if, print, else |
1 |
int, input,
if, print, else |
2 |
int, input, if,
print, else |
3 |
weight, int, nput, if, print,
else |
4 |
<, <=, >, >=,==, != |
5 |
50, >, <, 5, 5000 |
6 |
print, it, input, if, else |
7 |
else, int, input, if, print |
8 |
print, it, input, if, else |
9 |
سؤال
اكتب
برنامج الذي
يستقبل سنة
الولادة لشخص
والسنة
الحالية.
البرنامج
يقوم بحساب وعرض
جيل الشخص (العًمر)،
وهل يستطيع
التصويت
للبرلمان.
إذا
لا يستطيع
التصويت على
البرنامج أن
يكتب كم سنة
بقية له حتى
يستطيع
التصويت.
جيل
التصويت
للبرلمان هو
من جيل 18 وما
فوق.
الحل:
birth = int(input("Enter birth year")) current_year = 2022 age = current_year
– birth if age >= 18:
print ('
You can vote for
parliament')
left = 18 – age
print ('wait ', left, ' years') |
تعريف:
باليندروم (פלינדרום, palindrome)
هو
كلمة أو جملة
أو عدد (أو أي
مجموعة
إشارات)، لا
تتغير إذا
قرأناها
من
اليمين إلى
اليسار أو من
اليسار إلى
اليمين.
أمثلة:
aya ، 121 ، 12321 ، אבא
I am who am I
سؤال6
أكتب
برنامج يقرأ
عدد صحيح
مكوّن من 4
منازل،
على
البرنامج أن
يفحص إذا كان
هذا العدد هو باليندروم
أم لا، ويطبع
رسالة ملائمة.
مثال:
المدخل:
1441 ==<
المخرج Palindrome
المدخل: 2323 ==<
المخرج not-Palindrome
إرشاد
ومساعدة:
-
كوّن
عدد جديد مبني
من نفس
المنازل
بترتيب معكوس،
-
إفصل
وخلص كل منزلة
عل حدة.
-
قارن
(بأمر الشرط if) بين العدد
المعطى وبين
العدد
المعكوس.
إذا
كان العدد
المعطى
مساويا للعدد
المعكوس عندها
العدد المعطى
هو باليندروم.
الحل:
خلال
الحل سنستعمل
المتغيرات التالية:
num1:
العدد
المُدخل.
num2:
العدد الذي
نحن سوف نعمل
عليه، نخلص
منازلة.
d1: منزلة
الآحاد.
d10: منزلة
العشرات.
d100:
منزلة المئات.
invNum:
العدد
المعكوس.
num1 = int(input("Enter 4 digits num")) num2 = num1 d1 = num2 % 10 num2 = num2 // 10 d10 = num2 % 10 num2 = num2 // 10 d100 = num2 % 10 num2 = num2 // 10 d1000 = num2 % 10 invNum = d1*1000 + d10*100 + d100*10 + d1000 print (invNum) if num1==invNum :
print ("Palindrome") else: print ("not Palindrome") |
שאלה (קלט, %)
נתון קטע התכנית הבא בשפת Python
n = int(input("Enter")) r = int(input("Enter")) if (r % 10 > n % 10): print("yes") total = n % 10 * 10 + r % 10 else: print("no") total = r % 10 * 10 + n % 10 print("total=", total) |
א. רשמו מה יודפס אם ידוע
שנקלט n=25 , r=169 ?
(יש
לבצע בעזרת טבלת מעקב!)
ב. תנו דוגמא לקלט שונה עבורו
הפלט יהיה yes.
מה יהיה ערכו של total בדוגמא שבחרתם?
ג. תנו דוגמא לקלט שונה עבורו
הפלט יהיה no .
מה יהיה ערכו של total בדוגמא שבחרתם?
שאלה (קלט, % , //)
נתון קטע התכנית הבא:
a = 1234 n1 = a // 100 n2 = a % 100 if(n1 == n2): print("case 1") total = n1
else: if(n1 > n2): print("case 2") total = n1 * 100 + n2 else: print("case 3") total = n2 * 100 + n2 print(total) |
א.
מה יהיה פלט התכנית אם ידוע ש
a=2578
ב.
מה יהיה פלט התכנית אם ידוע ש
a=9900
ג.
תן דוגמא לקלט שונה שעבורו יודפס case 1
ד.
מה יהיה ערכו של total בדוגמא
שנתת ?
·
חובה עבור כל הסעיפים לבצע טבלת מעקב !
ملخص
معلومات
سابقة
تعلمناها
إسناد
قيمة إلى
متغير. השמה למשתנה. |
num
= 5 text
= "hello" |
إدخال (قراءة)
قيمة إلى
متغير. קליטת נתון
למשתנה. |
num
= input("رسالة توضيحية") |
طباعة
على الشاشة (הדפסה). |
print (num) |
التحويل
بين قيم
المتغيرات. |
a =
int(a) b =
float(b) |
Daliaty School – Copywrite 2023
wahbem@gmail.com | https://daliaty.com
<meta name="viewport"
content="width=device-width, initial-scale=1">