0555333017

اهلا بكم فى الموقع الرسمى للمهندس خالد ابو ابراهيم

 المدير التنفيذي للمضيف الاول للاتصالات وتقنية المعلومات (ون هوست) والخبير في مواقع التواصل الاجتماعي 

مقدمة واساسيات في لغة البايثون>>الجزء الثاني

 

 
الشروط:
 
الشروط هي عمليات تحقق
مثال حي:
لو افترضنا أن لدينا مؤتمر أو فعالية وأخبرنا الحارس أي شخص يرغب بالدخول تحقق إن كان يملك كرت دعوه اذا كان يملك كرت دعوه اسمح له بدخول القاعة وإذا ليس لديه كرت دعوه اعتذر منه وأخبره الدخول مخصص لمن لديه دعوه
 
مثال حي آخر:
لدينا بوابه و أخبرنا الحارس حارس أن يسئل كل شخص يرغب بالدخول عن اسمه فإذا كان اسمه علي اسمح له بالدخول واذا كان غير علي أخبره أن الدخول فقط لمن يحمل اسم علي  
 
كتابة المثال برمجيا:
الطريقة الأولى:
name = “ali”
if name == “ali”:
     print(“Hello ali”)
else:
     print(“Sorry”)
 
الشرط إذا كان الاسم يساوي علي أعطيه رسالة ترحيب وإذا غير علي أعطيه رسالة اعتذار

 
 
الطريقة الثانية:
name = “ali”
if name != “ali”:
     print(“Sorry”)
else:
     print(“Hello ali”)
 
الشرط اذا كان الاسم لا يساوي علي اظهر رسالة اعتذار واذا لم يتحقق الشرط معناه ان  الاسم يساوي علي اظهر رسالة ترحيب
الطريقتين تعطي نفس النتيجة
ترجع كتابة الشرط للحالة الي أمامك وطريقتك الي تراها أنسب
 
 
Logical Operators عوامل المقارنة

:or
 إذا أخبرنا الحارس إذا كان اسم الشخص علي او عمره ١٨ اسمح له بالدخول
وهذا يعني إذا تحققة معنا حالة واحدة يصبح الشرط صحيحا والا فأن الشرط غير صحيح
 
 
and
لدينا صفحة تسجيل دخول موجود بها حقلين اسم المستخدم وكلمة المرور في هذه الحالة لابد أن يكون اسم المستخدم وكلمة المرور صحيحين ولو كتب الشرط على
Or
النظام يفتح لأي كلمة مرور صحيحة أو إسم مستخدم صحيح
لذلك كل شرط لابد يكتب بعناية ويحلل منطقيا لتلافي المشاكل
username=input(“enter username”)
password=input(“enter password “)
if username == “ali” and password == “12345” :
     print(“thanks”)
else:
   print(“username or password error”)
 
في الاول يقوم المستخدم بإدخال لاسم المستخدم ثم إدخال لكلمة المرور
ثم نتحقق الأن  اذا كان اسم المستخدم
يساوي ali
 
وكلمة المرور تساوي 12345
أظهر رسالة thanks
وإذا لم يتحقق الشرط أظهر رسالة
username or password error
 
 
 
Or:
لدينا صفحة تسجيل بيانات وحسب شروط مالك النظام السماح بالتسجيل لمن عمره ٢٥او اسم على لو استخدمنا الشرط من نوع
and
يصبح الزامي لأي مسجل أن يكون اسمه على وعمره ٢٥
 
name=input(“enter name”)
age=input(“enter age “)
if username == “ali” or int(age)== 25:
     print(“thanks”)
else:
   print(“sorry”)
في الاول المستخدم يدخل الاسم ثم يدخل العمر  والأن نتحقق إذا كان الاسم
ali
او العمر 25
أظهر رسالة thanks
وإذا لم يتحقق الشرط أظهر رسالة
Sorry
ملاحظة:
int(age)
هي لتحويل نوع البيانات الى رقم لكي تتم المقارنة بشكل صحيح
 
 
 Comparison Operators
هو عمليات المقارنة:

== يساوي
!=لا يساوي
> أكبر من
< أصغر من
=> أكبر أو يساوي
=< أصغر من
 
 
مثال:
نظام الدرجات في الجامعات اذا حصلت على درجة اكبر من او تساوي 95 واصغر من او تساوي
100 تحصل على A+
واذا حصلت على درجة اكبر من او تساوي 90 واصغر من 95 تأخذ A
وتستمر معنا العلامات والدرجات
الخ من علامات تمنح بناء ع الدرجة المدخلة
mark=int(input("enter mark : "))
if mark > 100:
    print("error")
elif mark >=95 and mark <=100:
    print("A+")
elif mark >=90 and mark <=94:
    print("A")
elif mark >=85 and mark <=89:
    print("B+")
elif mark >=80 and mark <=84:
    print("B")
elif mark >=75 and mark <=79:
    print("C+")
elif mark >=70 and mark <=74:
    print("C")
elif mark >=65 and mark <=69:
    print("D+")
elif mark >=60 and mark <=64:
    print("D")
elif mark < 60:
    print("F")
 
 
في الأول يتم ادخال الدرجة
عمل الشرط بعد ادخال الدرجة:

سيتحقق اذا الدرجة المدخلة أكبر من 100 ويظهر رسالة error اذا لم يتحقق ينزل للشرط الي بعده

سيتحقق ان الدرجة المدخلة أكبر من او تساوي 95 واصغر من او تساوي 100 بمعنى اذا كانت الدرجة المدخلة تتراوح ما بين 95-100 يظهر رسالة A+ اذا لم يتحقق الشرط ينزل للشرط الي بعده

سيتحقق ان الدرجة المدخلة أكبر من او تساوي 90 واصغر من او تساوي 94 بمعنى اذا كانت الدرجة المدخلة تتراوح ما بين 90-94 يظهر رسالة A اذا لم يتحقق الشرط ينزل للشرط الي بعده

سيتحقق ان الدرجة المدخلة أكبر من او تساوي 85 واصغر من او تساوي 89 بمعنى اذا كانت الدرجة المدخلة تتراوح ما بين 85-89 يظهر رسالة B+ اذا لم تتحقق الشرط ينزل للشرط الي بعده

سيتحقق ان الدرجة المدخلة أكبر من او تساوي 80 واصغر من او تساوي 84 بمعنى اذا كانت الدرجة المدخلة تتراوح ما بين 80-84 يظهر رسالة B اذا لم تحقق الشرط ينزل للشرط الي بعده

سيتحقق ان الدرجة المدخلة أكبر من او تساوي 75 واصغر من او تساوي 79 بمعنى اذا كانت الدرجة المدخلة تتراوح ما بين 75-79 يظهر رسالة C+ اذا لم تتحقق الشرط ينزل للشرط الي بعده

سيتحقق ان الدرجة المدخلة أكبر من او تساوي 70 واصغر من او تساوي 74 بمعنى اذا كانت الدرجة المدخلة تتراوح ما بين 70-74 يظهر رسالة C اذا لم يتحقق الشرط ينزل للشرط الي بعده

سيتحقق ان الدرجة المدخلة أكبر من او تساوي 65 واصغر من او تساوي 69 بمعنى اذا كانت الدرجة المدخلة تتراوح ما بين 65-69 يظهر رسالة D+ اذا لم يتحقق الشرط ينزل للشرط الي بعده

سيتحقق ان الدرجة المدخلة أكبر من او تساوي 60 واصغر من او تساوي 64 بمعنى اذا كانت الدرجة المدخلة تتراوح ما بين 60-64 يظهر رسالة D اذا لم يتحقق الشرط ينزل للشرط الي بعده

لم يتحقق اذا الدرجة المدخلة أصغر من 60 يظهر رسالة F واذا لم يتحقق اي شرط من العشرة شروط مراح يطلع اي رسالة
 
 
التكرار:
 
التكرار في لغة البايثون يمكن استخدامه بدالتين
while,for
الفرق بينهم
while تستخدم للتكرار فقط
for تستخدم للتكرار ولنوع من التكرار يسمى iterator
 
غالبا للتكرار نستخدم while واذا عندنا بيانات في list او بيانات نبغا نستخرجها نستخدم for
لغرض من استخدام التكرار
 
لو مثلا اريد ان اطبع رسالة Hello  مئة مره
print(“Hello”)
اكرر الكود مئة مره ما نحسها شغله منطقية وصحيحه
 
او لو نبغا نطبع مثلا ارقام تسلسلية من 1-100
لو اكتبها يدوي مراح تكون منطقية وراح اكتب كود طويل جدا من غير داعي وانا قادر اعمله بشكل منطقي وصحيح واختصره ب عملية
التكرار
مثال: طباعة hello مئة مره
i=1
while i <= 100:
   print('hello')
   i +=1
 
الية عمل الكود:
في الاول أنشئنا متغير وسجلنا قيمته 1
ثم كتبنا دالة التكرار والان نكتب الشرط
كتبنا ان قيمة المتغير اصغر من او تساوي 100
بعدها سوينا طباعة hello
عشان يطبع لنا الرسالة ذي 100 مره
 
مكتوب تحت i+=1
الهدف من السطر اضافة 1 قيمة i عشان في كل مره يتحقق الشرط يزيد واحد ويتأكد من الشرط اذا  لم اكتبه يصير كل مره يقارن قيمة 100=>1
فلما ازيد قيمة i بواحد مع كل مره يتحقق الشرط بيضيف 1 لقيمة i الى ان يتحقق الشرط ويوقف
 
 
طباعة سلسلة رقمية من 1-100
i=1
while i <= 100:
   print(i)
   i +=1
في الاول أنشئنا متغير وكتبنا فيه 1 بمعنى البداية من هذا الرقم ثم كتبنا شرط بان اذا قيمة i اصغر من او تساوي 100 اطبع لنا قيمة i وبعدني اضفنا الزيادة على قيمة i
لو كتبت مقدار الزيادة بيحصل لوب لانهائي لأنه بتصير قيمة i =1 وكل مره بيرجع للشرط
 
طباعة الارقام الزوجية من 1-100
i=2
while i <= 100:
   print(i)
   i +=2
 
 
في الاول أنشئنا متغير وقيمته2
 2 بمعنى البداية من هذا الرقم ث كتبنا شرط بان اذا قيمة i اصغر من او تساوي 100 اطبع لنا قيمة i وبعدني اضفنا الزيادة على قيمة i بمقدار 2
يعني السلسلة بتصير كذا
2
4
6
8
10
.... الخ
 
مثال طباعة الارقام الفردية من 1-100
 
i=1
while i <= 100:
   print(i)
   i +=2
 
 
 
في الاول أنشئنا متغير وقيمته
 1 بمعنى البداية من هذا الرقم بعدين كتبنا شرط بان اذا قيمة i اصغر من او تساوي 100 اطبع لنا قيمة i وبعدني اضفنا الزيادة على قيمة i بمقدار 2
يعني السلسلة بتصير كذا
1
3
5
7
9
 
.... الخ
الان for loop
 
for i in range(1,100):
  print(i)
 
كتبنا for ثم كتبنا اسم متغير i تتخزن فيه قيمة التكرار ثم range الدالة هذي نسجل فيها الرقم الي يبتدئ منه التكرار والرقم الي يتوقف عنده
طبعا هذا اللوب العادي بدالة for
في نوع من انواع التكرار ويستخدم فيه مثل هذه الحالة
 
اذا عندنا عناصر ولا نعرف كم طولها مثلا ممكن 100,50 الخ ما قدر استخدم while لأنها تلزمني اكتب شرط للتكرار
ف جانا مفهوم اسمه
iterator
وهذه الطريقة نستخدمها اذا كان عندنا list او بيانات من جدول مثلا ونبغا نستخرجها
item = ["ali", "ahmed", "mohammed"]
for i in item:
  print(i)
 
عندنا هنا بيانات من نوع list وفيها جموعات بيانات بغض النظر عن عددها لو جينا نطبع متغير item  بيطعينا البيانات
['ali', 'ahmed', 'mohammed']
 
لكن لما كتبنا  for loop
استخرجلنا البيانات من list
وطبعها بالشكل التالي
ali
ahmed
mohammed
 
 loop control
بمعنى التحكم بالتكرار
بعمل المثال ع item عشان توضح الفكره وايضا نقدره نستخدمه while عادي
 
item = ["ali", "ahmed", "mohammed"]
print(item)
for i in item:
  print(i)
  if i == "ahmed":
     break
 
نفس item الاولى والشغل بالمثال السابق لكن كتبنا شرط اذا كانت قيمة i تساوي ahmed اعمل break يعني خلاص وقف التكرار
التحكم بالتكرار قد ينفعك اذا كانت تعمل بحث عن بيانات او  بشغله معينه احتجته