Python Guide v1.0
Python Guide v1.0
إعداد
الفارس
ي أحمد بن راشد
عائشة بنت صالح العزرية
اب
زياد بن حمود الغر ي
جدول المحتويات Contents
.................................................................................................................. 2مقدمة
................................... 31تمرين عملي إلنشاء برنامج آلة حاسبة Calculator Practical Exercise
مقدمة
بسبب أننا نعيش يف عرص التكنولوجيا أو ما يسمى الثورة الصناعية الرابعة وعرص الإنرتنت وإانرتنت الش ياء أصبح من املهم
فهم ألية معل هذه التكنولوجيا العرصية لتطويرها وتطويعها حسب حاجاتنا حلل مشالكنا ومشالك جممتعاتنا .لك هذه التقنية
تعمتد عىل لغات الربجمة يف معلها وتعترب جزء همم جدا مهنا ل ميكن ا إلس تغناء عهنا.
ذلكل مت اإنشاء هذه املذكرة البس يطة لتكون مبثابة املفتاح لمك لتعمل لغة البايثون ,حيث س تغطي بعض الساس يات اليت متكنك
من الربجمة ,ننصحمك أثناء قراءة املذكرة أن تقوموا بتجريبت تشغيل الكواد الربجمية وفهمها والتعديل علهيا كذكل ننصحمك ان ل
تس تخدموا نفس أسامء املتغريات املس تخدمة يف هذا الكتاب.
أمر الطباعة Print command
عالمت التنصيص.
ي التال يقوم بطباعة النص الموجود بي
ي مج
نالحظ أن الكود الب ي
يمكنك كتابة أي نص تريده بي عالمات التنصيص "".
The code
)"print("Hello
"(print )"|/
)"| print(" /
)"| print(" /
)"|___print("/
المتغبات Variables
والثاب والثالث.
ي مج وجود ثالثة متغبات يف السطر األول
نالحظ يف هذا البنامج أوالكود الب ي
وه عبارة
والثاب character_name1و character_name2يقومان بتخزين نصوص ي
ي المتغبان األول
عن أسماء أشخاص.
عندما نريد إضافة متغب بي النص الحظ أنه ال يكتب بي عالمات التنصيص "" وإنما يكتب بدونها مع مراعاة
وجود إشارة +قبل المتغب وبعده إذا كان يف وسط الكالم بينما.
"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_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_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لتقوم بعمل سطر جديد عند طباعة ما بعدها
ي مج
الحظ يف الكود الب ي
ثم بعد ذلك يتم طباعة النتيجة النهائية عىل هيئة نص حيث يتم تحويل قيمة المتغب zإل نص stringثم
إضافتها إل النص باللون األخض.
x=8
y=2
z=x+y
))print("The result is: "+str(z
التال يقوم بطرح المتغب xمن المتغب .y
الكود ي
ثم بعد ذلك يتم طباعة النتيجة النهائية عىل هيئة نص حيث يتم تحويل قيمة المتغب zإل نص stringثم
إضافتها إل النص باللون األخض.
x=8
y=2
z=x-y
))print("The result is: "+str(z
ثم بعد ذلك يتم طباعة النتيجة النهائية عىل هيئة نص حيث يتم تحويل قيمة المتغب zإل نص stringثم
إضافتها إل النص باللون األخض.
x=8
y=2
z=x*y
))print("The result is: "+str(z
التال يقوم بقسمة المتغب xعىل y
الكود ي
ثم بعد ذلك يتم طباعة النتيجة النهائية عىل هيئة نص حيث يتم تحويل قيمة المتغب zإل نص stringثم
إضافتها إل النص باللون األخض.
x=8
y=2
z=x/y
))print("The result is: "+str(z
ثم بعد ذلك يتم طباعة النتيجة النهائية عىل هيئة نص حيث يتم تحويل قيمة المتغب zإل نص stringثم
إضافتها إل النص باللون األخض.
x=5
y=2
z=x%y
))print("The result is: "+str(z
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
يتم ذلك من خالل النص الب ي
It is used to convert data type from one form to another form
نستخدم هذه الخاصية لتحويل نوع البيانات من نوع معي إل أنواع أخرى مثل floatأو integer
Float: 4.4
Integer: 3
Example
هذا المثال يقوم بتوضيح تحويل بيانات معينة من نوع floatإل integerوأيضا العكس من integerإل
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
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
تدعم لغة البايثون أيضا العالقات الرياضية أو المنطقية التالية:
مج.
يف لغة البايثون المسافات مهمة جدا عند كتابة الكود الب ي
للوهلة األول عند مالحظة الكودين قد يعتقد البعض أنه كالهما صحيحي.
ئ
خاط لماذا؟ الثاب هو
يف الحقيقة أن الكود األول هو صحيح بينما الكود ي
الثاب غب
الثاب قد بدأ بنفس السطر مع 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 x in range(6):
)print(x
مج يقوم بنفس عمل الكود السابق لكن االختالف يكمن أنه يبدأ من 2وليس من الصفر مثل
هذا الكود الب ي
المثال السابق
يقوم بطباعة األرقام من 2إل 30لكن هنا يقوم بإضافة 3إل قيمة xالسابقة وليس مثل المثال السابق يقوم
بإضافة 1يف كل مرة أي أنه يقوم بزيادة 3يف كل مرة.
Example 1
هذه الدالة تقوم بطباعة النص االموجود فيها عند إستدعائها. •
الحظ أن هذه الدالة ال تستقبل أي متغب. •
هناك دوال تستقبل متغبات كما سنتتطرق يف األمثلة التالية. •
The code
def my_function():
)"print("This is my function
)(my_function
The Results
Example 2
The code
def p(name):
)print(name
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
The code
]"x=["Ali","Omar","Ahmed
)print(x
The Results
Example 2
األمر ) 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
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.
يف هذا الجزء سنتعلم التعامل مع الملفات يف لغة البايثون ,حيث سنتعلم كيفة إنشاء ملف وكيفية كتابة وقراءة
البيانات من ملف.
)"f=open("test.txt","w
المشع الخاص بنا كل حسب تسميته ر
للمشوع بعد ذلك نذهب إل مجلد PycharmProjectثم إل مجلد ر
مالحظة( حت تتمكن من قراءة البيانات من الملف يجب تغيب خاصية فتح الملف من 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
الحظ أننا استخدمنا عالمة #يف بداية السطر لتحويل السطر إل تعليق.
#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()