0% found this document useful (0 votes)
89 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)
89 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

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

‫‪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