0% found this document useful (0 votes)
30 views33 pages

Python Guide v1.0

Uploaded by

hazemmohummed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views33 pages

Python Guide v1.0

Uploaded by

hazemmohummed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

‫دليل الطالب يف لغة البايثون‬

‫‪Student Guide in Python‬‬

‫إعداد‬
‫الفارس‬
‫ي‬ ‫أحمد بن راشد‬
‫عائشة بنت صالح العزرية‬
‫اب‬
‫زياد بن حمود الغر ي‬
‫جدول المحتويات ‪Contents‬‬
‫‪ .................................................................................................................. 2‬مقدمة‬

‫‪ .................................................................................... 3‬أمر الطباعة ‪Print command‬‬

‫‪ ............................................................................................... 4‬المتغيرات ‪Variables‬‬

‫‪ ........................................ 8‬العمليات الرياضية في لغة البايثون ‪Python Arithmetic Operators‬‬

‫‪ ............................................................... 14‬تحويل أنواع البيانات ‪Data Type Conversion‬‬

‫‪ ...................................................................... 15‬المدخالت من المستخدم ‪Input in Python‬‬

‫‪ ..................................................................... 17‬أدوات الشرط ‪Conditional Statements‬‬

‫‪ ..................................................................... 19‬التكرار في لغة البايثون ‪Loops in Python‬‬

‫‪ ................................................................................................. 22‬الدوال ‪Functions‬‬

‫‪ ......................................................................................................... 25‬القوائم ‪Lists‬‬

‫‪ .......................................................... 28‬التعامل مع الملفات في لغة البايثون ‪Files in Python‬‬

‫‪............................................................................................. 30‬التعليقات ‪Comments‬‬

‫‪ ................................... 31‬تمرين عملي إلنشاء برنامج آلة حاسبة ‪Calculator Practical Exercise‬‬
‫مقدمة‬
‫بسبب أننا نعيش يف عرص التكنولوجيا أو ما يسمى الثورة الصناعية الرابعة وعرص الإنرتنت وإانرتنت الش ياء أصبح من املهم‬
‫فهم ألية معل هذه التكنولوجيا العرصية لتطويرها وتطويعها حسب حاجاتنا حلل مشالكنا ومشالك جممتعاتنا‪ .‬لك هذه التقنية‬
‫تعمتد عىل لغات الربجمة يف معلها وتعترب جزء همم جدا مهنا ل ميكن ا إلس تغناء عهنا‪.‬‬

‫ذلكل مت اإنشاء هذه املذكرة البس يطة لتكون مبثابة املفتاح لمك لتعمل لغة البايثون‪ ,‬حيث س تغطي بعض الساس يات اليت متكنك‬
‫من الربجمة‪ ,‬ننصحمك أثناء قراءة املذكرة أن تقوموا بتجريبت تشغيل الكواد الربجمية وفهمها والتعديل علهيا كذكل ننصحمك ان ل‬
‫تس تخدموا نفس أسامء املتغريات املس تخدمة يف هذا الكتاب‪.‬‬
‫أمر الطباعة ‪Print command‬‬

‫‪This command used to print text.‬‬


‫يستخدم هذا األمر لطباعة نص عىل الشاشة‪.‬‬

‫عالمت التنصيص‪.‬‬
‫ي‬ ‫التال يقوم بطباعة النص الموجود بي‬
‫ي‬ ‫مج‬
‫نالحظ أن الكود الب ي‬
‫يمكنك كتابة أي نص تريده بي عالمات التنصيص ""‪.‬‬

‫‪The code‬‬

‫)"‪print("Hello‬‬
‫"(‪print‬‬ ‫)"|‪/‬‬
‫)"| ‪print(" /‬‬
‫)"| ‪print(" /‬‬
‫)"|___‪print("/‬‬
‫المتغبات ‪Variables‬‬

‫‪Variables are containers for storing data values.‬‬


‫ه عبارة عن حاويات لتخزين البيانات‪.‬‬
‫المتغبات ي‬

‫والثاب والثالث‪.‬‬
‫ي‬ ‫مج وجود ثالثة متغبات يف السطر األول‬
‫نالحظ يف هذا البنامج أوالكود الب ي‬

‫وه عبارة‬
‫والثاب ‪ character_name1‬و ‪ character_name2‬يقومان بتخزين نصوص ي‬
‫ي‬ ‫المتغبان األول‬
‫عن أسماء أشخاص‪.‬‬

‫المتغب الثالث ‪ character_age‬يخزن عمر الشخص أيضا عىل هيئة نص‪.‬‬

‫عندما نريد إضافة متغب بي النص الحظ أنه ال يكتب بي عالمات التنصيص "" وإنما يكتب بدونها مع مراعاة‬
‫وجود إشارة ‪ +‬قبل المتغب وبعده إذا كان يف وسط الكالم بينما‪.‬‬

‫نكتف بإشارة ‪ +‬قبل المتغب فقط‪.‬‬


‫ي‬ ‫إذا كان المتغب نريد إضافته نهاية الكالم‬

‫"‪character_name1="Tom‬‬
‫"‪character_name2="harvard‬‬
‫"‪character_age="40‬‬
‫)"‪print("Hello‬‬
‫‪print("there once was a man‬‬
‫)"‪named" +character_name1+ ",‬‬
‫‪print("he was" +character_age+‬‬
‫)"‪"years old‬‬
‫" ‪print("he was student in‬‬
‫)"‪+character_name2+ ",‬‬
‫"‪print("he really liked the name‬‬
‫‪+character_name1 + "and studying‬‬
‫)"‪in" +character_name2+ ",‬‬
print("but did't like being"
+character_age+ ".")
.‫الحظ يف هذا البنامج قمنا بتغيب قيمة المتغبات عن القيمة السابقة‬

‫ عن‬character_name2 ‫ و‬character_name1 ‫ قمنا بتغيب قيمة من المتغبات‬11 ‫كما نالحظ يف السطر‬


.‫والثاب‬
‫ي‬ ‫ما كانت عليه يف السطر األول‬

character_name1="Tom"
character_name2="harvard"
character_age="40"
print("Hello")
print("there once was a man
named" +character_name1+ ",")
print("he was" +character_age+
"years old")
print("he was student in "
+character_name2+ ",")
character_name1="Jone"
character_name2="Oxford"
print("he really liked the name"
+character_name1 + "and studying
in" +character_name2+ ",")
print("but did't like being "
+character_age+ ".")
. string ‫الت تطرقنا لها سابقا كانت يتم تخزين نصوص يف المتغبات أو ما يسىم ب‬
‫كل األكواد البمجية ي‬

‫ فالحظ أنه عندما نريد تخزين قيمة عددية يف المتغب‬,‫التال قمنا بإضافة متغب وخزنا يف قيمة عددية‬
‫يف الكود ي‬
."" ‫فإنه ال نكتب القيمة العددية بي عالمات التنصيص‬

‫ إل النص فإنه أضفنا‬character_age ‫برمج أنه عندما أردنا إضافة المتغب‬


‫ي‬ ‫فت آخر سطر‬
‫أيضا ركز والحظ ي‬
.string ‫اللت تقوم بتحويل قيمة المتغب من قيمة عددية إل‬
‫ ي‬str() ‫الدالة‬

character_name1="Tom"
character_name2="harvard"
character_age= 40
print("Hello")
print("there once was a man
named" +character_name1+ ",")
print("he was" +str
(character_age) + "years old")
print("he was student in "
+character_name2+ ",")
character_name1="Jone"
character_name2="Oxford"
print("he really liked the name"
+character_name1 + "and studying
in" +character_name2+ ",")
print("but did't like being"
+str (character_age) + ".")
‫التال أننا استخدمنا ‪ \n‬لتقوم بعمل سطر جديد عند طباعة ما بعدها‬
‫ي‬ ‫مج‬
‫الحظ يف الكود الب ي‬

‫قم بتشغيل الكود وأنظر إل النتيجة حت يتضح األمر أكب‪.‬‬

‫‪print("my name is Aisha,\n I'm 22‬‬


‫)"‪years old.\n I'm an engineering‬‬
‫العمليات الرياضية يف لغة البايثون ‪Python Arithmetic Operators‬‬

‫‪Arithmetic operators are used with numeric values to perform common‬‬


‫‪mathematical operations:‬‬
‫تستخدم العمليات الرياضية يف لغة البايثون لتطبيق العمليات الرياضية المختلفة كالجمع والطرح عىل‬
‫المتغبات‪.‬‬

‫التال يقوم بجمع المتغب ‪ x‬مع المتغب ‪.y‬‬


‫الكود ي‬

‫يتم تخزين نتيجة حاصل جمع المتغبين يف متغب آخر ‪. z‬‬

‫ثم بعد ذلك يتم طباعة النتيجة النهائية عىل هيئة نص حيث يتم تحويل قيمة المتغب ‪ z‬إل نص ‪ string‬ثم‬
‫إضافتها إل النص باللون األخض‪.‬‬

‫‪x=8‬‬
‫‪y=2‬‬
‫‪z=x+y‬‬
‫))‪print("The result is: "+str(z‬‬
‫التال يقوم بطرح المتغب ‪ x‬من المتغب ‪.y‬‬
‫الكود ي‬

‫يتم تخزين نتيجة حاصل طرح المتغبين يف متغب آخر ‪. z‬‬

‫ثم بعد ذلك يتم طباعة النتيجة النهائية عىل هيئة نص حيث يتم تحويل قيمة المتغب ‪ z‬إل نص ‪ string‬ثم‬
‫إضافتها إل النص باللون األخض‪.‬‬

‫‪x=8‬‬
‫‪y=2‬‬
‫‪z=x-y‬‬
‫))‪print("The result is: "+str(z‬‬

‫التال يقوم بضب المتغب ‪ x‬مع المتغب ‪y‬‬


‫الكود ي‬

‫يتم تخزين نتيجة حاصل ضب المتغبين يف متغب آخر ‪. z‬‬

‫ثم بعد ذلك يتم طباعة النتيجة النهائية عىل هيئة نص حيث يتم تحويل قيمة المتغب ‪ z‬إل نص ‪ string‬ثم‬
‫إضافتها إل النص باللون األخض‪.‬‬

‫‪x=8‬‬
‫‪y=2‬‬
‫‪z=x*y‬‬
‫))‪print("The result is: "+str(z‬‬
‫التال يقوم بقسمة المتغب ‪ x‬عىل ‪y‬‬
‫الكود ي‬

‫يتم تخزين نتيجة حاصل قسمة المتغبين يف متغب آخر ‪. z‬‬

‫ثم بعد ذلك يتم طباعة النتيجة النهائية عىل هيئة نص حيث يتم تحويل قيمة المتغب ‪ z‬إل نص ‪ string‬ثم‬
‫إضافتها إل النص باللون األخض‪.‬‬

‫‪x=8‬‬
‫‪y=2‬‬
‫‪z=x/y‬‬
‫))‪print("The result is: "+str(z‬‬

‫باف قسمة المتغب ‪ x‬مع المتغب ‪y‬‬


‫مج مختلف قليال حيث يقوم بإظهار ي‬
‫هذا الكود الب ي‬

‫باف قسمة المتغبين يف متغب آخر ‪. z‬‬


‫يتم تخزين نتيجة ي‬

‫ثم بعد ذلك يتم طباعة النتيجة النهائية عىل هيئة نص حيث يتم تحويل قيمة المتغب ‪ z‬إل نص ‪ string‬ثم‬
‫إضافتها إل النص باللون األخض‪.‬‬

‫‪x=5‬‬
‫‪y=2‬‬
‫‪z=x%y‬‬
‫))‪print("The result is: "+str(z‬‬

‫مج )‪ abs(x‬يقوم بإيجاد‬


‫ه ‪ 5‬ألنه الدالة أو الكود الب ي‬
‫التال ستكون النتيجة ي‬
‫ي‬ ‫مج‬
‫لو قمنا بتشغيل الكود الب ي‬
‫القيمة المطلقة للرقم‪.‬‬

‫‪x = -5‬‬
‫))‪print(abs(x‬‬
‫التال يقوم بطباعة ‪ 5‬مرفوعة ألس ‪ 2‬أي أن الدالة )‪ pow(5,2‬تقوم برفع الرقم إل أس حسب‬
‫ي‬ ‫مج‬
‫الكود الب ي‬
‫اختيارك‪.‬‬

‫))‪print(pow(5, 2‬‬
‫التال وستالحظ أنه يقوم بطباعة الرقم ‪ 5‬فقط لماذا؟‬
‫قم بتشغيل الكود ي‬
‫مج )‪ max(5,2‬يقوم بإيجاد أكب عدد من بي الرقمي‪.‬‬
‫ذلك بسبب أن الدالة أو الكود الب ي‬

‫))‪print(max(5, 2‬‬
‫مج السابق وهو أنه يوجد أقل قيمة من‬
‫مج أو الدالة )‪ min(5,2‬يقوم عكس عمل الكود الب ي‬
‫هذا الكود الب ي‬
‫بي العددين‪.‬‬

‫))‪Print(min(5, 2‬‬
‫التال سنجد أنه يقوم بطباعة الرقم ‪ 11‬لماذا؟‬
‫لو نقوم بتشغيل الكود ي‬
‫مج أوالدالة )‪ round(10.9‬يقوم بتقريب العدد إل أقرب عدد صحيح‪.‬‬
‫ألنه الكود الب ي‬

‫))‪print(round(10.9‬‬
‫الثاب األمر يقوم بطباعة‬
‫التال وجود نص مخزن يف متغب اسمه ‪ , phrase‬يف السطر ي‬
‫ي‬ ‫مج‬
‫نالحظ يف الكود الب ي‬
‫النص لكن يف حالة حروف ‪Capital letters‬‬

‫مج )(‪.phrase.upper‬‬
‫يتم ذلك من خالل النص الب ي‬

‫"‪Phrase = "I'm an Engineering‬‬


‫))(‪print(phrase.upper‬‬
‫هذا الكود يتحقق من جميع حروف النص يف المتغب إذا كانت كلها ‪ Capital‬يقوم بطباعة ‪ True‬أما إذا لم تكن‬
‫كلها ‪ Capital‬فإنه يقوم بطباعة ‪.False‬‬

‫"‪phrase = "I'm an Engineering‬‬


‫))(‪print(phrase.isupper‬‬
‫التال يقوم بطباعة عدد األحرف يف الجملة مع عدد المسافات )‪.len(phrase‬‬
‫ي‬ ‫مج‬
‫الكود الب ي‬

‫"‪phrase = "I'm an Engineering‬‬


‫))‪print(len(phrase‬‬
‫التال يقوم بطباعة أول حرف من الجملة والذي يحمل الرقم صفر )‪.len(phrase‬‬
‫ي‬ ‫مج‬
‫الكود الب ي‬
‫مالحظة (يبدأ ترقيم الحرف يف الجمل من الصفر)‪.‬‬

‫"‪phrase = "I'm an Engineering‬‬


‫)]‪print(phrase[0‬‬
‫هذا الكود )"‪ phrase.index("an‬يقوم بطباعة رقم الحرف الذي تبدأ فيه الكلمة‪.‬‬
‫تعت أن كلمة ‪ an‬أول حرف بها يبدأ من رقم ‪.4‬‬
‫التال سيظهر معنا الرقم ‪ 4‬حيث ي‬
‫عند تشغيل الكود ي‬

‫"‪phrase = "I'm an Engineer‬‬


‫))"‪print(phrase.index("an‬‬
‫ يقوم باستبدال كلمة محددة يف النص‬phrase.replace("Engineer","programmer") ‫مج‬ ‫هذا األمرالب ي‬
:programmer ‫ بكلمة‬Engineer ‫التال حيث يقوم باستبدال كلمة‬
‫ي‬ ‫بكلمة أخرى كما هو موضح يف المثال‬

phrase = "I'm an Engineer"


print(phrase.replace("Engineer",
"programmer"))
‫تحويل أنواع البيانات ‪Data Type Conversion‬‬

‫‪It is used to convert data type from one form to another form‬‬
‫نستخدم هذه الخاصية لتحويل نوع البيانات من نوع معي إل أنواع أخرى مثل ‪ float‬أو ‪integer‬‬
‫‪Float: 4.4‬‬
‫‪Integer: 3‬‬

‫‪Example‬‬

‫هذا المثال يقوم بتوضيح تحويل بيانات معينة من نوع ‪ float‬إل ‪ integer‬وأيضا العكس من ‪ integer‬إل‬

‫‪ . float‬فكما نالحظ يف الكود الب ي‬


‫مج أن المتغب ‪ x‬هو من نوع ‪ float‬بينما المتغب ‪ y‬هو من نوع ‪ integer‬لكن‬
‫عند الطباعة تم تحويل ‪ x‬إل ‪ integer‬بينما ‪ y‬إل ‪. float‬‬

‫‪The code‬‬
‫‪x=4.4‬‬
‫‪y=3‬‬
‫))‪print(int(x‬‬
‫))‪print(float(y‬‬

‫‪The Results‬‬
‫المدخالت من المستخدم ‪Input in Python‬‬

‫‪To receive information through the keyboard, the program flow stops until the user‬‬
‫‪enters the input via the command line‬‬
‫يستخدم هذا األمر إلستقبال المعلومات المدخلة من خالل الكيبورد عن طريق المستخدم‪ .‬يتوقف البنامج يف‬
‫العادة عند هذا السطر الذي يسأل فيه المستخدم إلدخال بيانات حت يتم إدخال المعلومات أو البيانات‪.‬‬

‫‪Example 1‬‬

‫يف هذا المثال يسأل البنامج المستخدم إدخال اسمه وتخزينه يف المتغب ‪ x‬ثم يقوم بطباعة رسالة ترحيبيىة‬
‫للمستخدم باسمه‪.‬‬

‫‪The code‬‬
‫)" ‪x=input("Enter your name:‬‬
‫)‪print("Hello "+x‬‬

‫‪The Results‬‬
‫‪Example 2‬‬

‫هذا البنامج بمثابة آلة حاسبىة بسيطة لعملية الجمع بحيث يقوم المستخدم بإدخال القيم المراد جمعها‬
‫وتخزينها يف المتغبات ‪ x‬و ‪ y‬عىل صيغة ‪ integer‬ثم بعد ذلك يجمع هذه المتغبات ويخرنها يف المتغب ‪ z‬ثم‬
‫بعد ذلك يتم طباعة النتيجة النهائية عىل هيئة نص‪.‬‬

‫‪The code‬‬
‫))" ‪x=int(input("Enter first Num:‬‬
‫))" ‪y=int(input("Enter Second Num:‬‬
‫‪z=x+y‬‬
‫))‪print("The sum equal to: "+str(z‬‬

‫‪The Results‬‬
‫أدوات ر‬
‫الشط ‪Conditional Statements‬‬

‫‪Those statements used to perform different actions depending on specific conditions.‬‬


‫تستخدم هذه الخاصية لتنفيذ كود برمج معي بناء عىل رشوط معينة‪ ,‬ف حالة تحقق هذه ر‬
‫الشوط يتم تنفيذ‬ ‫ي‬ ‫ي‬
‫مج‪.‬‬
‫وف حالة عدم تحققها يتم تجاهل ذلك الكود الب ي‬
‫برمج معي ي‬
‫ي‬ ‫كود‬

‫‪Example‬‬

‫يف هذا المثال يقوم البنامج بسؤال المستخدم إلدخال رقم معي يف المتغب ‪.x‬‬ ‫•‬
‫يف حالة كان الرقم المدخل أقل من أو يساوي ‪ 10‬يقوم البنامج بطباعة ‪the entered num less‬‬ ‫•‬
‫‪.than 10‬‬
‫يف حالة كان الرقم المدخل بي ‪ 10‬و ‪ 20‬يقوم البنامج بطباعة ‪.between 10 and 20‬‬ ‫•‬
‫وبالتال‬ ‫والثاب لن يتحققا‬ ‫ف حالة كان الرقم المدخل أكب من ‪ 20‬ف هذه الحالة فإن ر‬
‫الشط األول‬ ‫•‬
‫ي‬ ‫ي‬ ‫ي‬ ‫ي‬
‫ر‬
‫يقوم البنامج بتنفيذ الشط الثالث وهو طباعة ‪.bigger than 20‬‬

‫‪The code‬‬
‫))" ‪x=int(input("Enter num:‬‬
‫‪if x<=10:‬‬
‫)"‪print("the entered num less than 10‬‬
‫‪elif x>=10 and x<=20:‬‬
‫)"‪print("between 10 and 20‬‬
‫‪else:‬‬
‫)"‪print("bigger than 20‬‬

‫‪The Results‬‬
‫‪Python supports the usual logical conditions from‬‬
‫‪mathematics‬‬
‫تدعم لغة البايثون أيضا العالقات الرياضية أو المنطقية التالية‪:‬‬

‫•‬ ‫‪Equals: a == b‬‬


‫•‬ ‫‪Not Equals: a != b‬‬
‫•‬ ‫‪Less than: a < b‬‬
‫•‬ ‫‪Less than or equal to: a <= b‬‬
‫•‬ ‫‪Greater than: a > b‬‬
‫•‬ ‫‪Greater than or equal to: a >= b‬‬

‫مالحظة مهمة جدا‬

‫مج‪.‬‬
‫يف لغة البايثون المسافات مهمة جدا عند كتابة الكود الب ي‬

‫للوهلة األول عند مالحظة الكودين قد يعتقد البعض أنه كالهما صحيحي‪.‬‬

‫ئ‬
‫خاط لماذا؟‬ ‫الثاب هو‬
‫يف الحقيقة أن الكود األول هو صحيح بينما الكود ي‬

‫الثاب غب‬
‫الثاب قد بدأ بنفس السطر مع ‪ if‬لذلك يعتب السطر ي‬
‫الثاب نالحظ أن السطر ي‬
‫ذلك بسبب أنه يف الكود ي‬
‫تابع لل ‪.if‬‬

‫الثاب مثل ما هو واضح يف الكود األول‪.‬‬


‫حت يكون تابع لل ‪ if‬يجب أن يكون السطر ي‬

‫✔ ‪Code 1‬‬

‫‪if x<=10:‬‬
‫)"‪print("the entered num less than 10‬‬

‫✖ ‪Code 2‬‬

‫‪if x<=10:‬‬
‫)"‪print("the entered num less than 10‬‬
‫التكرار يف لغة البايثون ‪Loops in Python‬‬

‫‪loop is used to execute a block of statements repeatedly until a given a condition is‬‬
‫‪satisfied then stop.‬‬

‫برمج معي بشكل متكرر حت يتحقق حالة معي ثم يتوقف‪.‬‬


‫ي‬ ‫تستخدم اللوب لتفيذ أمر‬

‫‪Example‬‬

‫يف هذا المثال هناك متغب ‪ x‬قيمته صفر عندما يبدأ اللوب يقوم بطباعة الجملة المكتوبة ويقوم‬ ‫•‬
‫بإضافة الرقم ‪ 1‬إل المتغب ‪.x‬‬
‫وبالتال‬
‫ي‬ ‫وبالتال ال رشط صحيح ‪<3‬‬
‫ي‬ ‫ه أقل من ‪3‬‬
‫والت ي‬
‫ه‪ 1‬ي‬ ‫يف هذه الحالة قيمة المتغب ‪ x‬اآلن ي‬ ‫•‬
‫مج داخل اللوب والذي هو طباعة الجملة المكتوبة‬
‫سيبف البنامج يف التكرار و ينفذ الكود الب ي‬
‫وإضافة ‪ 1‬إل قيمة المتغب ‪ x‬السابقة‪.‬‬
‫بالتال ال رشط صحيح ‪ <3‬لذلك البنلمج‬
‫ي‬ ‫ه أقل من ‪ 3‬و‬
‫والت ي‬
‫ه‪ 2‬ي‬ ‫اآلن أصبحت قيمة المتغب ‪ x‬ي‬ ‫•‬
‫سيظل يف التكرار و يقوم بتنفيذ أمر الطباعة وإضافة ‪ 1‬إل قيمة المتغب ‪ x‬السابقة‪.‬‬
‫وف‬ ‫ر‬ ‫•‬
‫ه ليست أصغر من ‪ 3‬فكما نالحظ أن الشط غب صحيح ي‬ ‫وبالتال ي‬
‫ي‬ ‫ه‪3‬‬‫اآلن قيمة المتغب ‪ x‬ي‬
‫سينته البنامج‪.‬‬
‫ي‬ ‫هذه الحالة البنامج سيخرج من التكرار و‬

‫‪The code‬‬
‫‪x=0‬‬
‫‪while x<3:‬‬
‫)"‪print("Hello Ahmed‬‬
‫‪x+=1‬‬

‫‪The Results‬‬

‫‪Exercise 1‬‬

‫‪The code‬‬
‫‪x=0‬‬
‫‪while x<3:‬‬
‫)‪print(x‬‬
‫‪x+=1‬‬
‫‪Exercise 2‬‬

‫‪The code‬‬
‫‪x=0‬‬
‫‪while x<100:‬‬
‫)‪print(x‬‬
‫‪x+=2‬‬

‫هناك نوع آخر من دوال التكرار تسىم ‪for loop‬‬


‫هذا النوع من دوال التكرار هو مشابه تقريبا لدوال ‪while loop‬‬
‫التال فهو يقوم بطباعة األرقام من ‪ 0‬إل ‪ 5‬حيث أنه يف كل مرة يقوم بإضافة ‪ 1‬إل القيمة‬
‫لو الحظنا الكود ي‬
‫السابقة للمتغب ‪x‬‬

‫‪for x in range(6):‬‬
‫)‪print(x‬‬
‫مج يقوم بنفس عمل الكود السابق لكن االختالف يكمن أنه يبدأ من ‪ 2‬وليس من الصفر مثل‬
‫هذا الكود الب ي‬
‫المثال السابق‬

‫‪for x in range(2, 6):‬‬


‫)‪print(x‬‬
‫أما هذا الكود فإنه‪:‬‬

‫يقوم بطباعة األرقام من ‪ 2‬إل ‪ 30‬لكن هنا يقوم بإضافة ‪ 3‬إل قيمة ‪ x‬السابقة وليس مثل المثال السابق يقوم‬
‫بإضافة ‪ 1‬يف كل مرة أي أنه يقوم بزيادة ‪ 3‬يف كل مرة‪.‬‬

‫‪for x in range(2, 30, 3):‬‬


‫)‪print(x‬‬
‫الدوال ‪Functions‬‬

‫‪A function is a block of code which only runs when it is called.‬‬

‫برمج معي مت ما استدعت‬


‫ي‬ ‫الرئيس لتنفيذ كود‬
‫ي‬ ‫برمج يكون منفصل عن البنامج‬
‫ي‬ ‫ه عبارة عن جزء‬
‫الدوال ي‬
‫الحاجة إليه حي يتم إستدعاءها‪.‬‬

‫‪Example 1‬‬

‫هذه الدالة تقوم بطباعة النص االموجود فيها عند إستدعائها‪.‬‬ ‫•‬
‫الحظ أن هذه الدالة ال تستقبل أي متغب‪.‬‬ ‫•‬
‫هناك دوال تستقبل متغبات كما سنتتطرق يف األمثلة التالية‪.‬‬ ‫•‬

‫‪The code‬‬
‫‪def my_function():‬‬
‫)"‪print("This is my function‬‬

‫)(‪my_function‬‬

‫‪The Results‬‬
‫‪Example 2‬‬

‫هذه الدالة تستقبل متغب من نوع ‪ string‬ثم تقوم بطباعته‪.‬‬ ‫•‬


‫نكتف بكتابة )(‪.p‬‬
‫ي‬ ‫الحظ أننا قمنا بتبسيط أمر الطباعة بدال من كتابة )(‪ print‬فإننا‬ ‫•‬

‫‪The code‬‬

‫‪def p(name):‬‬
‫)‪print(name‬‬

‫)"‪p("Hello, this is me‬‬

‫‪The Results‬‬
‫‪Example 3‬‬

‫هذه الدالة تقوم باستقبال متغبين ‪ x‬و ‪ y‬من نوع ‪.integer‬‬ ‫•‬
‫تقوم الدالة بطرح قيم المتغبين وتخزينها يف متغب آخر ‪. z‬‬ ‫•‬
‫أخبا يتم طباعة المتغب ‪.z‬‬ ‫•‬

‫‪The code‬‬
‫‪def subtract(x,y):‬‬
‫‪z=x-y‬‬
‫))‪print("the answer is "+str(z‬‬

‫)‪subtract(20,5‬‬

‫‪The Results‬‬
‫القوائم ‪Lists‬‬

‫‪A list is a collection which is ordered and changeable. In Python lists are written with‬‬
‫‪square brackets.‬‬

‫والت تكون مرتبة وقابلة لتغيب محتواها‪ .‬تكون القائمة يف لغة البايثون محصورة بي‬
‫ه عبارة عن متغب ي‬
‫القوائم ي‬
‫أقواس مربعة كما سنالجظ يف األمثلة‪.‬‬

‫‪Example 1‬‬

‫وه ثالثة أشخاص بعد‬


‫يف هذا المثال تم تعريف قائة أو ما تسىم ب ‪ list‬وتم عمل ثالثة عناض يف القائمة ي‬
‫ذلك تم طباعة القائمة كاملة بأمر الطباعة كما هو موضح‪.‬‬

‫‪The code‬‬
‫]"‪x=["Ali","Omar","Ahmed‬‬
‫)‪print(x‬‬

‫‪The Results‬‬
‫‪Example 2‬‬

‫يف هذا المثال سنتعلم مجموعة من األوامر الخاصة ب ‪list‬‬

‫األمر )‪ print(x‬يقوم بطباعة ‪ list‬بشكل كامل كما هو واضح يف السطر األول من ‪.Results‬‬ ‫•‬
‫األمر )]‪ print(x[0‬يقوم بطباعة العنض األول يف ‪ list‬فقط‬ ‫•‬
‫مالحظة (يبدأ ترقيم عناض ‪ list‬أو ما يسىم ب ‪ index‬من الصفر )‪.‬‬
‫الثاب يف ‪ list‬وهكذا بالنسبة للبقية فقط تغيب الرقم بي‬
‫األمر )]‪ print(x[1‬يقوم بطباعة العنض ي‬ ‫•‬
‫القوسي‬

‫‪The code‬‬

‫]"‪x=["Ali","Omar","Ahmed","Zeyad‬‬
‫)‪print(x‬‬
‫)]‪print(x[0‬‬
‫)]‪print(x[1‬‬

‫‪The Results‬‬
‫‪Example 3‬‬

‫والت تمكننا من إضافة وإزالة عناض من‬


‫يف هذا المثال سنتعلم مجموعة من األوامر الجديدة الخاصة ب ‪ list‬ي‬
‫‪list‬‬
‫األمر )"‪ x.append("Salim‬يقوم بإضافة عنض جديد إل القائمة السابقة‪.‬‬ ‫•‬
‫األمر )"‪ x.insert(0,"Rashid‬يقوم بإضافة عنض يف ‪ index‬رقم صفر‪.‬‬ ‫•‬
‫األمر )"‪ x.remove("Ahmed‬يقوم بإزالة العنض ‪ Ahmed‬من القائمة‪.‬‬ ‫•‬
‫األمر )(‪ x.clear‬يقوم بحذف كافة عناض القائمة‪.‬‬ ‫•‬

‫‪The code‬‬

‫]"‪x=["Ali","Omar","Ahmed","Zeyad‬‬
‫)‪print(x‬‬
‫)"‪x.append("Salim‬‬
‫)‪print(x‬‬
‫)"‪x.insert(0,"Rashid‬‬
‫)‪print(x‬‬
‫)"‪x.remove("Ahmed‬‬
‫)‪print(x‬‬
‫)(‪x.clear‬‬
‫)‪print(x‬‬

‫‪The Results‬‬
‫التعامل مع الملفات يف لغة البايثون ‪Files in Python‬‬

‫‪In this part we will learn how to deal with files. We will learn how to create files and‬‬
‫‪how to read and write data to a file.‬‬

‫يف هذا الجزء سنتعلم التعامل مع الملفات يف لغة البايثون‪ ,‬حيث سنتعلم كيفة إنشاء ملف وكيفية كتابة وقراءة‬
‫البيانات من ملف‪.‬‬

‫التال سيقوم بإنشاء ملف اسمه ‪ test‬بصيغة ‪.txt‬‬


‫ي‬ ‫مج‬
‫األمر الب ي‬

‫الحرف ‪ w‬يشب إل أننا يف خاصية الكتابة أي أننا نقرأ البيانات من الملف‪.‬‬

‫مج سيقوم بإنشاء ملف جديد‪.‬‬


‫يف حالة كان هذا الملف غب موجود سابقا فإن هذا الكود الب ي‬

‫)"‪f=open("test.txt","w‬‬
‫المشع الخاص بنا كل حسب تسميته ر‬
‫للمشوع‬ ‫بعد ذلك نذهب إل مجلد ‪ PycharmProject‬ثم إل مجلد ر‬

‫سنجد ملف اسمه ‪test.txt‬‬

‫نقوم بفتح الملف ثم ندخل أي نص يف الملف ونحقوم بالحفظ‬

‫التال لقراءة البيانات من الملف‬


‫اآلن نقوم بكتابة الكود ي‬

‫مالحظة( حت تتمكن من قراءة البيانات من الملف يجب تغيب خاصية فتح الملف من ‪ w‬إل ‪ r‬كما هو‬
‫تعت أننا يف وضعية القراءة من الملف ‪.(read‬‬
‫مالحظ يف الكود‪ r .‬ي‬

‫)"‪f=open("test.txt","r‬‬
‫))(‪print(f.read‬‬
‫مج يقوم فقط بقراءة أول خمسة حروف من الملف فقط‪ .‬يمكن تغيب الرقم حسب اختيارك‪.‬‬
‫هذا الكود الب ي‬

‫)"‪f=open("test.txt","r‬‬
‫))‪print(f.read(5‬‬
‫التال يقوم بقراءة السطر األول من الملف فقط‪.‬‬
‫ي‬ ‫مج‬
‫الكود الب ي‬

‫)"‪f=open("test.txt","r‬‬
‫))(‪print(f.readline‬‬
‫الثاب‪.‬‬
‫التال سيقوم بقراءة السطر األول والسطر ي‬
‫مج ي‬ ‫كما تالحظون يف الكود الب ي‬

‫)"‪f=open("test.txt","r‬‬
‫))(‪print(f.readline‬‬
‫))(‪print(f.readline‬‬
‫اآلن سنوضح كيفية كتابة بيانات إل الملف‬
‫اول خطوة نقوم بتغيب خاصية القراءة أو طريقة فتح الملف من ‪ r‬إل ‪ w‬كما هو مالحظ يف السطر األول‬
‫مج يقوم بكتابة النص إل الملف‪.‬‬
‫الثاب من الكود الب ي‬
‫السطر ي‬

‫)"‪f=open("test.txt","w‬‬
‫)"‪f.write("Hello, this is Ahmed‬‬
‫هناك طريقة أخرى للكتابة يف الملف تسىم ‪.append‬‬

‫الطريقة األول عند كتابة بيانات جديدة إل الملف فإنه يقوم بحذف أي بيانات سابقة وكتابة البيانات‬
‫الجديدة‪.‬‬

‫هذه الطريقة تقوم بالعكس أي أنه عند كتابة أي بيانات للملف تقوم بكتابة البيانات الجديدة مع اإلحتفاظ‬
‫بالبيانات السابقة‪.‬‬
‫مج األول قمنا بتغيب ‪ w‬إل ‪.a‬‬
‫كما نالحظ يف السطر الب ي‬

‫)"‪f=open("test.txt","a‬‬
‫)"‪f.write("Hello, this is Ahmed‬‬
‫التعليقات ‪Comments‬‬

‫يف بعض األحيان يريد المبمجون كتابة تعليقات بي سطر البنامج ألغراض توضيحية بحيث أي مبمج آخر يريد‬
‫برمج أي أن‬
‫ي‬ ‫تطوير البنامج يتمكن من فهم البنامج‪ .‬التعليقات ي‬
‫ه سطور فقط للقراءة أو التوضيح وال تعتب كود‬
‫البنامج ال يقوم بتنفيذها‪.‬‬

‫الثاب فقط‬
‫مج ي‬ ‫مج أن البنامج سيقوم بتنفيذ السطر الب ي‬
‫التال أنه عند تشغيل الكود الب ي‬
‫الحظ يف الكود ي‬
‫وسيتجاهل األول بسبب أن األول هوعبارة عن تعليق أو ما يسىم ب ‪. comment‬‬
‫الحظ أننا استخدمنا عالمة ‪ #‬يف بداية السطر لتحويل السطر إل تعليق‪.‬‬

‫))" ‪#x=int(input("Enter num 1 :‬‬


‫))" ‪y=int(input("Enter num 2 :‬‬

‫‪#This is a comment‬‬
‫)"!‪print("Hello, World‬‬
‫لكن ماذا إذا أردنا أن نقوم بتحويل مجموعة أسطر إل تعليق ؟‬

‫يمكننا القيام بذلك عن طريق عن طريق عالمات اإلقتباس""" كما هو موضح يف الكود ي‬
‫التال‪:‬‬

‫"""‬
‫‪This is a comment‬‬
‫‪written in‬‬
‫‪more than just one line‬‬
‫"""‬
‫)"!‪print("Hello, World‬‬
‫عمىل إلنشاء برنامج آلة حاسبة ‪Calculator Practical Exercise‬‬
‫ي‬ ‫تمرين‬

‫يف هذا التمرين سنتعلم كيفية إنشاء آلة حاسبة تقوم بالجمع‪ ,‬الطرح‪ ,‬الظرب والقسمة‪ .‬حيث يف البداية يسأل‬
‫البنامج المستخدم إذا كان يريد المواصلة والدخول إل الحاسبة أم يريد الخروج‪ .‬بعد ذلك يسأل البنامج المستخدم‬
‫إدخال عددين ثم بعد ذلك يسأل البنامج المستخدم ليقوم باختيار العمليةالرياظية عىل الرقمي‪ .‬بعد ظهور نتيجة‬
‫الحل تظهر رسالة مرة أخرى تسأل المستخدم إذا كان يريد المواصل أم يريد الخروج من البنامج‪.‬‬

‫‪The code‬‬

‫‪def add(a,b):‬‬
‫‪z=a+b‬‬
‫)‪print(z‬‬
‫‪def sub(a,b):‬‬
‫‪z=a-b‬‬
‫)‪print(z‬‬
‫‪def mul(a,b):‬‬
‫‪z=a*b‬‬
‫)‪print(z‬‬
‫‪def div(a,b):‬‬
‫‪z=a/b‬‬
‫)‪print(z‬‬
‫‪def main():‬‬
‫‪print("Hello,this is simple‬‬
‫)" ‪calculator‬‬
‫‪x=input(" Enter y to‬‬
‫)" ‪continue\n n to exit:‬‬
if x=="y":
w=int(input("Enter first
Number: "))
s=int(input("Enter Second
Number: "))
print("\n Enter a for
addition ")
print("Enter s for
subtraction")
print("Enter m for
multiplication")
print("Enter d for
devision")
o=input("Select operation:
")
if o=="a":
add(w,s)
elif o=="s":
sub(w,s)
elif o=="m":
mul(w,s)
elif o=="d":
div(w,s)
main()
else:
exit()
main()

You might also like