داليتي سكول -

Daliaty School

   صفحة البيت  |

 

 

 

 

 

بايثون – פיתון – 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_yearbirth

if age >= 18:

  print (' You can vote for parliament')
else:

  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">