مفهوم الحلقات في بايثون
حلقة: تعني Loop في اللغة الإنجليزية. نستخدم الحلقات لعدم تكرار نفس الكود عدة مرات, إذاً أي كود نريده أن يتنفذ عدة مرات, نقوم بكتابته داخل حلقة فتقوم هي بإعادة تنفيذ الكود قدر ما شئنا ضمن شروط معينة نقوم نحن بتحديدها.
طريقة تنفيذ الأوامر و الحلقات في الذاكرة
الأوامر في العادة تتنفذ بتسلسل وراء بعضها, و لكن الحلقات تجعل سهم تنفيذ الأوامر يقف عندها فيقوم بتنفيذ الأوامر التي بداخلها عدة مرات, و بعد أن يخرج من الحلقة يعود و يكمل تنفيذ باقي الأوامر التي تليها, كما في الصورة التالية:
الحلقات الموجودة في بايثون
| إسم الحلقة | دواعي الإستخدام |
|---|---|
| For Loop | تستخدم الحلقة for للمرور على جميع عناصر السلسلة أو المصفوفة بسهولة بدون الحاجة لتعريف عداد و تحديد أين يبدأ و أين ينتهي.و تستخدم لتنفيذ الكود عدة مرات محددة. يتبع» |
| While Loop | تستخدم الحلقة while لتنفيذ الكود عدة مرات غير محددة و يتوقف التنفيذ إذا تحقق شرط معين, لأن هذه الحلقة يتم توقيفها إذا تحقق الشرط الذي نضعه بين القوسين.يتبع » |
جمل التحكم في الحلقات في بايثون
جمل التحكم تعني Control Statements بالإنجليزية, و نستخدمهم للتحكم في سير تنفيذ الحلقات.
| جملة التحكم | تعريفها |
|---|---|
| Break Statement | الجملة break تستخدم بشكل عام لإيقاف الحلقة في حال تحقق شرط معين. ثم تنتقل للكود الذي يليها في البرنامج.يتبع » |
| Continue Statement | الجملة continue تستخدم بشكل عام لإيقاف الدورة الحالية في الحلقة و الإنتقال إلى الدورة التالية فيها في حال تحقق شرط معين.يتبع» |
الوصول للأشياء التي تم تعريفها بداخل الحلقة من الخارج في بايثون
في أغلب لغات البرمجة لا يمكن الوصول للأشياء التي تم تعريفها داخل الحلقة من الخارج, أما في بايثون فإنه بإمكانك الوصول لهم.
مثال
# بعدها سيتم عرضه .n هنا قمنا بإنشاء سلسلة من الأرقام الموجودة بين 1 إلى 5. في كل دورة في الحلقة سيتم جلب رقم من هذه السلسلة و تخزينه في المتغير
for n in range(1, 6):
print(n)
# بعد أن توقفت الحلقة n هنا عرضنا القيمة الموجودة في المتغير
print('n contains:', n )
•سنحصل على النتيجة التالية عند التشغيل
2
3
4
5
n contains: 5
•إذاً لاحظنا أننا استطعنا معرفة القيمة الأخيرة التي تم وضعها في المتغير n الذي تم تعريفه في الأساس بداخل الحلقة for خارجها.
الحلقة for في بايثون
تعريف الحلقة for في بايثون
نستخدم الحلقة for للمرور على جميع عناصر السلسلة أو المصفوفة بسهولة بدون الحاجة لتعريف عداد و تحديد أين يبدأ و أين ينتهي.
تستخدم لتنفيذ الكود عدة مرات محددة.
طريقة إستخدامها
statements
element: هو متغير عادي نقوم بتعريفه بداخل الحلقة. في كل دورة سيتم جلب قيمة من قيم السلسلة الموضوعة بعده و وضعها فيه.
sequence: هي السلسلة أو المصفوفة التي نريد الوصول لجميع عناصرها.
statements: هي جميع الأوامر الموضوعة في الحلقة و هي تتنفذ في كل دورة.
إذاً هنا تقوم الحلقة بالمرور على جميع عناصر المصفوفة بالترتيب من العنصر الأول إلى العنصر الأخير, و في كل دورة تقوم بتخزين قيمة العنصر في المتغير الذي قمنا بتعريفه.
معلومة تقنية
الحلقة for في بايثون تعمل كما تعمل الحلقة ForEach في لغات البرمجة الأخرى.
أمثلة حول الحلقة for في بايثون
سنقوم الآن بكتابة برنامج بسيط يعرض قيم جميع عناصر مصفوفة باستخدام الحلقة for.
المثال الأول
# تحتوي على 7 عناصر days هنا قمنا بتعريف مصفوفة إسمها days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] # بعدها سيتم عرض قيمته ,day في المتغير days هنا في كل دورة سيتم تخزين قيمة عنصر جديد من عناصر المصفوفة for day in days: print(day)
•سنحصل على النتيجة التالية عند التشغيل
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
سنقوم الآن بكتابة برنامج يمر على أحرف النص و يعرضهم حرفاً حرفاً باستخدام الحلقة for.
معلومة: النص بطبيعته يمثل سلسلة من الأحرف لذلك بايثون تتيح لك فعل هذا بسهولة.
المثال الثاني
# هنا منا بتعريف متغير يحتوي على نص, أي يحتوي على سلسلة من الأحرف sentence = 'Python is amazing' # بعدها سيتم عرضه .letter في كل دورة في الحلقة سيتم جلب حرف من هذا النص و تخزينه في المتغير for letter in sentence: print(letter)
•سنحصل على النتيجة التالية عند التشغيل
y
t
h
o
n
i
s
a
m
a
z
i
n
g
الدالة range() في بايثون
سنستخدم الدالة range() في الأمثلة التالية لأنها ترجع سلسلة من الأرقام.
عند إستدعاء هذه الدالة يجب تمرير قيمة, أو قيمتين, أو ثلاث قيم لها كـ Arguments.
في حال مررت لها قيمة واحدة مثل range(5) فإنها سترجع سلسلة من الأرقام تبدأ من 0 إلى 4.
إذاً سترجع 0 ثم 1 ثم 2 ثم 3 ثم 4.
في حال مررت لها قيمتين مثل range(1, 5) فإنها سترجع سلسلة من الأرقام تبدأ من 1 إلى 4.
إذاً سترجع 1 ثم 2 ثم 3 ثم 4.
في حال مررت لها ثلاث قيم مثل range(1, 5, 2) فإنها سترجع سلسلة من الأرقام تبدأ من 1 إلى 4 و تزيد إثنين كل مرة.
إذاً سترجع 1 ثم 3.
طريقة إستخدام الدالة range() مع الحلقة for في بايثون
المثال التالي يشرح طريقة إستخدام الدالة range() لجعل الحلقة for كأنها تعدّ.
المثال الأول
# بعدها سيتم عرضه .n هنا قمنا بإنشاء سلسلة من الأرقام الموجودة بين 1 إلى 5. في كل دورة في الحلقة سيتم جلب رقم من هذه السلسلة و تخزينه في المتغير for n in range(1, 6, 1): print(n)
•سنحصل على النتيجة التالية عند التشغيل
2
3
4
5
ملاحظة: هنا كان يمكننا كتابة range(1, 6) بدلاً من كتابة range(1, 6, 1) و الحصول على نفس النتيجة.
المثال التالي يشرح طريقة إستخدام الدالة range() لجعل الحلقة for كأنها تعدّ بشكل عكسي, أي تبدأ من أكبر عدد فيها إلى أصغر عدد فيها.
المثال الثاني
# بعدها سيتم عرضه .n هنا قمنا بإنشاء سلسلة من الأرقام الموجودة بين 5 إلى 1. في كل دورة في الحلقة سيتم جلب رقم من هذه السلسلة و تخزينه في المتغير for n in range(5, 0, -1): print(n)
•سنحصل على النتيجة التالية عند التشغيل
4
3
2
1
الـ -1 الموضوعة في الدالة range() تعني أن سلسلة الأرقام تقل واحداً في كل مرة.
لهذا السبب وجدنا أن الدالة range() أرجعت سلسلة الأرقام التالية: 5, 4, 3, 2, 1.
الحلقة while في بايثون
تعريف الحلقة while في بايثون
نستخدم الحلقة while إذا كنا نريد تنفيذ الكود عدة مرات, ولكننا لا نعرف كم مرة بالتحديد لأننا نريد إيقاف التنفيذ إذا تحقق شرط معين.
هذه الحلقة تتوقف عن تكرار نفسها إذا تحقق الشرط الذي وضعناه لها.
هنا كأننا نقول: " طالما أن الشرط لم يتحقق إستمر في تكرار الكود ".
طريقة إستخدامها
while condition:
statements
increment أو decrement;
initialisation: هي أول خطوة تتنفذ في الحلقة و هي تتنفذ مرة واحدة فقط على عكس جميع العناصر الموجودة في الحلقة.
في هذه الخطوة نقوم بتعريف متغير ( يسمى عداد ).condition: هي ثاني خطوة تتنفذ في الحلقة و هي تتنفذ في كل دورة.
في هذه الخطوة نقوم بوضع شرط يحدد متى تتوقف الحلقة, في كل دورة يتم التأكد أولاً إذا تحقق هذا الشرط أم لا.
هنا طالما أن نتيجة الشرط تساويtrueسيعيد تكرار الكود.statements: هي الخطوة الثالثة, و تعني تنفيذ جميع الأوامر الموجودة في الحلقة و هي تتنفذ في كل دورة.
(decrement أو increment): هي الخطوة الرابعة و الأخيرة, و هي تتنفذ في كل دورة.
هنا نحدد كيف تزداد أو تنقص قيمة العداد.
تذكر فقط أن جميع هذه الخطوات تتكرر في كل دورة ما عدا أول خطوة, و السبب أننا لا نحتاج إلى تعريف عداد جديد في كل دورة, بل نستعمل العداد القديم و الذي من خلاله نعرف في أي دورة أصبحنا.
مثال حول الحلقة while في بايثون
في المثال التالي قمنا بتعريف حلقة تطبع جميع الأرقام من 1 إلى 10.
في البداية قمنا بتعريف متغير إسمه i و أعطينها القيمة 1 لأننا سنستخدمه كعداد في الحلقة.
بعدها قمنا بإنشاء حلقة while تظل تنفذ الأوامر الموضوعة فيها طالما أن قيمة العداد i لا تزال أصغر أو تساوي 10.
في كل دورة في هذه الحلقة سيتم طباعة قيمة العداد i ثم إضافة 1 على قيمته.
مثال
i = 1 while i <= 10: print(i) i += 1
•سنحصل على النتيجة التالية عند التشغيل.
2
3
4
5
6
7
8
9
10
مثال حول إستخدام الجملة الشرطية else مع الحلقة while في بايثون
يمكنك وضع الجملة الشرطية else مباشرةً بعد الحلقة while لتنفيذ بلوك من الكود ( مجموعة أوامر ) مباشرةً عندما تتوقف الحلقة عن إعادة تنفيذ الكود الموضوع فيها, أي عندما يصبح جواب الشرط الذي يجعلها تستمر في إعادتها نفسها طالما هو True يساوي False.
مثال
i = 1
while i <= 10:
print(i)
i += 1
else:
print('This block is executed when the condition return False!')
•سنحصل على النتيجة التالية عند التشغيل.
2
3
4
5
6
7
8
9
10
This block is executed when the condition return False!
تذكر: الكود الموضوع في بلوك الجملة else سيتنفذ دائماً بعد أن تتوقف الحلقة عن العمل, و سيتنفذ أيضاً حتى لو تتنفذ الحلقة من الأساس.
لتتأكد من هذا الأمر, قم بإعطاء المتغير i القيمة 100 بدل القيمة 1 و لاحظ أيضاً أنه سينفذ أمر الطباعة الموضوع في البلوك else.
طريقة إنشاء حلقة لا تتوقف (Infinite Loop) في بايثون
تحذير
قبل تجربة الأمثلة التالية على الحاسوب عليك معرفة أن الـ (Infinite Loop) قد تجعله يعلّق أو قد تسبب في حرق المعالج إذا لم يتم إيقاف الكود يدوياً خلال وقت قصير.
الصورة التالية توضح طريقة إيقاف أي برنامج يدوياً بعد أن يتم تشغيله.
طريقة إنشاء حلقة لا تتوقف عن استداعاء نفسها.
المثال الأول
while 1 == 1:
print('I am stuck!')
•سنحصل على النتيجة التالية عند التشغيل.
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
طريقة إنشاء حلقة لا تتوقف عن استداعاء نفسها.
المثال الثاني
while True:
print('I am stuck!')
•سنحصل على النتيجة التالية عند التشغيل.
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
طريقة إنشاء حلقة لا تتوقف عن استداعاء نفسها.
المثال الثالث
flag = True
while flag = True:
print('I am stuck!')
•سنحصل على النتيجة التالية عند التشغيل.
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
I am stuck!
جملة التحكم break في بايثون
مفهوم الجملة break في بايثون
الجملة break تستخدم بشكل عام لإيقاف الحلقة في حال تحقق شرط معين. ثم تنتقل للكود الذي يليها في البرنامج.
طريقة إستخدامها
تتألف هذه الجملة من أمر واحد و يكتب على سطر منفرد.
أمثلة حول طريقة استخدام جملة التحكم break في بايثون
في المثال التالي قمنا بتعريف حلقة while كانت ستطبع جميع الأرقام من 1 إلى 10 لولا أننا إستخدمنا الجملة break لجعل الحلقة تتوقف عندما تصبح قيمة العداد counter تساوي 5.
المثال الأول
counter = 1
while counter <= 10:
print(counter)
if counter == 5:
break
counter += 1
print('The loop was stopped when counter =', counter)
•سنحصل على النتيجة التالية عند التشغيل.
2
3
4
5
The loop was stopped when counter = 5
•إذاً الجملة break جعلت الحلقة تتوقف عندما أصبحت قيمة العداد counter تساوي 5.
في المثال التالي قمنا بتعريف حلقة for كانت ستطبع جميع الأرقام من 1 إلى 10 لولا أننا إستخدمنا الجملة break لجعل الحلقة تتوقف عندما تصبح قيمة الـ n تساوي 5.
المثال الثاني
for n in range(1, 11):
print(n)
if n == 5:
break
print('The loop was stopped when n =', n)
•سنحصل على النتيجة التالية عند التشغيل.
2
3
4
5
The loop was stopped when n = 5
•إذاً الجملة break جعلت الحلقة تتوقف عندما أصبحت قيمة المتغير n تساوي 5.
جملة التحكم continue في بايثون
مفهوم الجملة continue في بايثون
الجملة continue تستخدم بشكل عام لإيقاف الدورة الحالية في الحلقة و الإنتقال إلى الدورة التالية فيها في حال تحقق شرط معين.
طريقة إستخدامها
تتألف هذه الجملة من أمر واحد و يكتب على سطر منفرد.
أمثلة حول طريقة استخدام جملة التحكم continue في بايثون
في المثال التالي قمنا بتعريف حلقة for كانت ستطبع جميع الأرقام من 1 إلى 5 لولا أننا إستخدمنا الجملة continue لجعل الحلقة تنتقل للدورة التالية عندما تصبح قيمة n تساوي 3.
المثال الأول
for n in range(1, 6): if n == 3: continue print(n)
•سنحصل على النتيجة التالية عند التشغيل.
2
4
5
•إذاً الجملة continue جعلت الحلقة تنتقل للدورة التالي عندما أصبحت قيمة المتغير n تساوي 3.
في المثال التالي قمنا بتعريف حلقة تطبع جميع الأرقام المفردة من 1 إلى 10.
إستخدمنا الجملة continue لجعل الحلقة تتجاوز كل دورة تكون فيها قيمة المتغير n عبارة عن عدد مزدوج.
المثال الثاني
for n in range(1, 11): if n % 2 == 0: continue print(n)
•سنحصل على النتيجة التالية عند التشغيل.
3
5
7
9
•إذاً الجملة continue جعلت الحلقة تتجاوز كل دورة كانت فيها قيمة المتغير n عبارة عن عدد مفرد.
في المثال التالي قمنا بتعريف حلقة تمر على جميع أحرف النص المخزن في المتغير sentence.
في هذه الحلقة إستخدمنا الجملة continue لتجاوز كل دورة تكون فيها قيمة المتغير n تساوي الحرف a.
المثال الثالث
sentence = 'harmash' for c in sentence: if c == 'a': continue print(c)
•سنحصل على النتيجة التالية عند التشغيل.
r
m
s
h
•إذاً الجملة continue جعلت الحلقة تتجاوز كل دورة كانت فيها قيمة المتغير n تساوي الحرف a.
مفهوم الأعداد في بايثون
في البداية, أعداد تعني numbers في اللغة الإنجليزية.
في هذا الدرس ستتعرف على أنواع الأعداد و الدوال الجاهزة في بايثون للتعامل معها.
معلومة تقنية
المتغيرات العددية في بايثون تعتبر كلها Immutable, و هذا يعني أنك عندما تقوم بتعريف أي متغير و تعطيه قيمة عددية فإن هذه القيمة يحجز لها مكان في الذاكرة.
لكن إذا قمت بإعطاء قيمة جديدة لهذا المتغير فإنه سيتم حذف القيمة القديمة من الذاكرة و إنشاء مكان جديد في الذاكرة و وضع القيمة الجديدة فيه لأنه لا يمكن تعديل نفس القيمة في نفس المكان في الذاكرة.
أنواع الأعداد في بايثون
عند تعريف متغير و تخزين عدد فيه, فإن مفسّر لغة بايثون سيقوم بشكل تلقائي بتحديد نوع هذا المتغير بناءاً على نوع القيمة العددية التي تم إسنادها إليه.
فإذا وضعت فيه عدد صحيح, يصبح نوعه int. و إذا وضعت فيه عدد عشري ( أي يحتوي على فاصلة ), يصبح نوعه float و هكذا.
أنواع الأعداد في بايثون تنقسم إلى 3 أنواع كما في الجدول التالي.
| النوع | إستخدامه | مثال |
|---|---|---|
int |
يستخدم لتخزين أعداد صحيحة. | x = 3 |
float |
يستخدم لتخزين أعداد تحتوي على فاصلة عشرية. | x = 1.5 |
complex |
يستخدم لتخزين أعداد مركبة (Complex Number) و التي غالباً ما يحتاجها المهندسون عند إجراء عمليات حاسبية معقدة. ملاحظة: هنا يجب وضع الحرف J أو j مباشرةً بعد العدد حتى يعرف مفسّر بايثون أنك تقصد عدد مركب و ليس عدد عادي. |
x = 4J |
في المثال التالي قمنا بتعريف ثلاث متغيرات و كل متغير وضعنا فيه قيمة عددية مختلفة في النوع و القيمة. بعدها قمنا بعرض نوع كل متغير منهم.
مثال
x = 3 # قيمته عبارة عن عدد صحيح ,x هنا قمنا بتعريف متغير إسمه y = 1.5 # قيمته عبارة عن عدد عشري ,y هنا قمنا بتعريف متغير إسمه z = 4J # قيمته عبارة عن عدد مركب ,z هنا قمنا بتعريف متغير إسمه print(type(x)) # x هنا طبعنا نوع قيمة المتغير print(type(y)) # y هنا طبعنا نوع قيمة المتغير print(type(z)) # z هنا طبعنا نوع قيمة المتغير
•سنحصل على النتيجة التالية عند التشغيل.
<class 'float'>
<class 'complex'>
عرض الأعداد الصحيحة بأشكال مختلفة في بايثون
في بايثون يمكنك حفظ أعداد صحيحة بشكل Hexa-Decimal و بشكل Octal.
ملاحظة: لست مضطراً أن تفهم الكود التالي لأن عرض الأعداد بأشكال مختلفة تتعلمه في مادة تسمى عمارة الحاسب و في مادة الشبكات.
مثال
a = 0xA03 # Hexa-decimal قيمته عبارة عن عدد صحيح لكننا كتبناها كـ ,a هنا قمنا بتعريف متغير إسمه
b = 0o42 # Octal قيمته عبارة عن عدد صحيح لكننا كتبناها كـ ,b هنا قمنا بتعريف متغير إسمه
print('a =', a) # a هنا قمنا بطباعة قيمة المتغير
print('b =', b) # b هنا قمنا بطباعة قيمة المتغير
print('type of a is:', type(a)) # a هنا قمنا بطباعة نوع قيمة المتغير
print('type of b is:', type(b)) # b هنا قمنا بطباعة نوع قيمة المتغير
•سنحصل على النتيجة التالية عند التشغيل.
b = 34
type of a is: <class 'int'>
type of b is: <class 'int'>
•نلاحظ أنه عند طباعة قيم المتغيرين a و b فإنها عرضت كأعداد صحيحة عادية و مفهومة.
•و نلاحظ أيضاً أنه تم إعتبار قيم المتغيرين a و b هو أعداد صحيحة int.
دوال تحويل أنواع الأعداد الموجودة في بايثون
الجدول التالي يحتوي على دوال جاهزة في بايثون تستخدم لتحويل أنواع الأعداد و لتحديد أنواع الأعداد التي نريد تخزينها بداخل المتغيرات.
| الدالة مع تعريفها | |
|---|---|
int( x )
ترجع قيمة العدد الذي نمرره لها مكان المتغير x كعدد صحيح نوعه int.تابع القراءة » |
|
int( x, base )
ترجع قيمة النص الذي نمرره لها مكان المتغير x كعدد صحيح نوعه int.مكان المتغير base نمرر عدد يمثل الطريقة التي نريد بها تحويل قيمة المتغير x.تابع القراءة » |
|
float( x )
ترجع قيمة المتغير الذي نمرره لها مكان المتغير x كعدد عشري (أي يحتوي على فاصلة) نوعه float.تابع القراءة » |
|
complex( real, imag )
ترجع قيمة المتغير real و المتغير imag كعدد مركب (Complex Number).العدد المركب بطبيعته يحتوي على قيمتين: - الأولى هي قيمة المتغير real كالقيمة الحقيقية (Real Part).- الثانية هي قيمة المتغير imag كقيمة الخيالية (Imaginary Part).ملاحظة: في حال قمت بتمرير قيمة واحدة لها, فإنك هنا فعلياً تدخل القيمة الحقيقية للعدد المركب, و القيمة الوهمية تعتبر 0. تابع القراءة » |
|
دوال التعامل مع الأعداد الموجودة في بايثون
في الجدول التالي ذكرنا بعض الدوال الجاهزة في بايثون و التي تستخدم للتعامل مع الأعداد.
| الدالة مع تعريفها | |
|---|---|
abs( x )
ترجع القيمة المطلقة للعدد الذي نمرره لها مكان الباراميتر x.تابع القراءة » |
|
round( x [, n] )
ترجع أقرب عدد صحيح للعدد الذي نمرره لها مكان الباراميتر x.تابع القراءة » |
|
max( x1, x2, ... )
ترجع العدد الأكبر بين مجموعة الأعداد التي نمررها لها كـ Arguments.تابع القراءة » |
|
min( x1, x2, ... )
ترجع العدد الأصغر بين مجموعة الأعداد التي نمررها لها كـ Arguments.تابع القراءة » |
|
معنى كلمة Module في بايثون
في بايثون, كلمة Module تعني ملف بايثون عادي يمكنه أن يحتوي على متغيرات, دوال, كلاسات إلخ..
لنستدعي هذا الملف ( أي الـ Module ) في برنامجنا بكل بساطة نفعل له import و هكذا نصبح قادرين على الوصول إلى الأشياء الموجودة فيه و استخدامها في برنامجنا.
كلمة Module تكتب موديل في اللغة العربية و سنعتمدها في الشروحات.
ملاحظة
سنشرح طريقة إنشاء Module و التعامل معه بتفصيل في درس خاص لاحقاً في هذه الدورة.
كما أنك ستتعرف في هذه الدورة على العديد من الـ Modules الموجودين في بايثون و سنتعرف في هذا الدرس على اثنين منهم هما math و random.
دوال و ثوابت الموديل math في بايثون
math هو موديل جاهز في بايثون يحتوي على دوال تستخدم في العمليات الحسابية و الهندسية, ذكرنا بعضها في هذا الجدول.
| الدالة مع تعريفها | |
|---|---|
ceil( x )
ترجع العدد الصحيح الأكبر أو الذي يساوي العدد الذي نمرره لها مكان الباراميتر x.تابع القراءة » |
|
floor( x )
ترجع العدد الصحيح الأصغر أو الذي يساوي العدد الذي نمرره لها مكان الباراميتر x.تابع القراءة » |
|
pow(x, y)
ترجع الناتج من مضاعفة قيمة العدد الذي نمرره لها مكان الباراميتر x مضاعف بقيمة الباراميتر y.تابع القراءة » |
|
sqrt( x )
ترجع قيمة الجزر التربيعي (square root) للعدد الذي نمرره لها مكان الباراميتر x.تابع القراءة » |
|
exp( x )
ترجع قيمة الـ exponential للعدد الذي نمرره لها مكان الباراميتر x.تابع القراءة » |
|
log( x [,base] )
ترجع قيمة الـ Logarithm للعدد الذي نمرره لها مكان الباراميتر x مع إمكانية تحديد نوع الوحدة لهذا العدد.تابع القراءة » |
|
log2( x )
ترجع قيمة الـ Logarithm Base 2 للعدد الذي نمرره لها مكان الباراميتر x.يمكن إستدعاء هذه الدالة بدل إستدعاء الدالة log(x, 2).تابع القراءة » |
|
log10( x )
ترجع قيمة الـ Logarithm Base 10 للعدد الذي نمرره لها مكان الباراميتر x.يمكن إستدعاء هذه الدالة بدل إستدعاء الدالة log(x, 10).تابع القراءة » |
|
sin( x )
ترجع قيمة الـ sine للعدد الذي نمرره لها مكان الباراميتر x.تابع القراءة » |
|
cos( x )
ترجع قيمة الـ cosine للعدد الذي نمرره لها مكان الباراميتر x.تابع القراءة » |
|
tan( x )
ترجع قيمة الـ tangent للعدد الذي نمرره لها مكان الباراميتر x.تابع القراءة » |
|
asin( x )
ترجع قيمة الـ arc sine للعدد الذي نمرره لها مكان الباراميتر x.تابع القراءة » |
|
acos( x )
ترجع قيمة الـ arc cosine للعدد الذي نمرره لها مكان الباراميتر x.تابع القراءة » |
|
atan( x )
ترجع قيمة الـ arc tangent للعدد الذي نمرره لها مكان الباراميتر x.تابع القراءة » |
|
degrees( x )
تحول قيمة العدد الذي نمرره لها مكان الباراميتر x لـ Degrees.تابع القراءة » |
|
radians( x )
تحول قيمة العدد الذي نمرره لها مكان الباراميتر x لـ Radians.تابع القراءة » |
|
gcd( x, y )
ترجع عدد صحيح يمثل القاسم المشترك الأكبر (Greatest Common Divisor) بين العددين اللذين نمررهما لها مكان الباراميترين x و y.تابع القراءة » |
|
الموديل math يحتوي أيضاً على الثوابت التالية التي تتعلق بالرياضيات.
| إسم الثابت | تعريفه |
|---|---|
E |
يحتوي على قيمة الـ Exponential. |
PI |
يحتوي على قيمة الـ PI. |
دوال الموديل random في بايثون
random هو موديل جاهز في بايثون يحتوي على دوال تستخدم في العمليات الحسابية و الهندسية, ذكرنا بعضها في هذا الجدول.
| الدالة مع تعريفها | |
|---|---|
random()
ترجع عدد عشري عشوائي بين 0.0 و 1.0.تابع القراءة » |
|
uniform( a, b )
ترجع عدد عشري عشوائي بين القيمة التي نمررها لها مكان الباراميتر a و القيمة التي نمررها لها مكان الباراميتر b.تابع القراءة » |
|
randrange ( [start,] stop [,step] )
ترجع عدد صحيح عشوائي بين 0 و القيمة التي نمررها لها مكان الباراميتر stop.أو ترجع عدد صحيح عشوائي بين القيمة التي نمررها لها مكان الباراميتر start و القيمة التي نمررها لها مكان الباراميتر stop.تابع القراءة » |
|
choice( seq )
ترجع قيمة عشوائية من بين عناصر أي سلسلة (Sequence) نمررها لها.السلسلة ممكن أن تكون مصفوفة من الأعداد, أو نص عادي (أي سلسلة من الأحرف). فمثلاً, إذا مررنا لها مصفوفة من الأعداد, ترجع عدد عشوائي من ضمن هذه المصفوفة. و إذا مررنا لها نص, ترجع حرف عشوائي من ضمن هذا النص. تابع القراءة » |
|
shuffle( x )
نمرر لها مصفوفة مكان الباراميتر x فتبدل أماكن عناصرها بشكل عشوائي.تابع القراءة » |
|
بايثون الدالة int(x)
تعريفها
هذه الدالة موجودة جاهزة في بايثون, و هي تحول القيمة التي نمررها لها مكان الباراميتر x لعدد صحيح (int) و ترجعها.
بناؤها
class int(x=0)
باراميترات
x يمكن أن تكون كائن من أي نوع بشرط أن يكون يمثل قيمة عددية.
ملاحظة: يمكن أن تكون قيمة x عبارة عن عدد أو نص يمثل عدد صحيح بشرط أن لا يحتوي على أي رمز أو مسافة فارغة, مثال: '20'.
قيمة الإرجاع
ترجع القيمة التي نمررها لها مكان الباراميتر x كعدد صحيح (int).
مثال
x = 5.5 # ( float أي ) قيمته عبارة عن عدد عشري x هنا قمنا بتعريف متغير إسمه
y = int(x) # y ثم وضعناها في متغير جديد إسمه ( int أي ) إلى قيمة صحيحة x هنا قمنا بتحويل قيمة المتغير
print('x =', x) # x هنا قمنا بعرض قيمة المتغير
print('y =', y) # y هنا قمنا بعرض قيمة المتغير
•سنحصل على النتيجة التالية عند التشغيل.
y = 5
بايثون الدالة int(x, base)
تعريفها
هذه الدالة موجودة جاهزة في بايثون, و هي تحول القيمة النصية التي نمررها لها مكان الباراميتر x لعدد صحيح (int) بناءاً على قيمة المتغير base و ترجعها.
معلومة تقنية
إفتراضياً, أي عدد نقوم بتعريفه يعتبر مبني على الـ Base 10 حتى إن لم نقم بتحديد ذلك بأنفسنا.
لهذا تلاحظ أن قيمة الباراميتر base تساوي 10 بشكل إفتراضي ما لم تقم بتحديدها.
بناؤها
class int(x, base=10)
باراميترات
xعبارة عن نص يمثل العدد الصحيح الذي سيتم تحويل قيمته و إرجاعها.baseعبارة عن عدد صحيح يمثل نوع الوحدة التي سيتم إعتمادها عند تحويل قيمة المتغيرx.
و بالتالي العدد الذي نضعه مكان الـ
baseيحدد نوع قيمة المتغيرxو التي يمكن أن تكون binary - octal - decimal - hexadecimal.
الـbaseيمكن أن يكون 2 - 8 - 10 - 16 بالترتيب كما فوق.
قيمة الإرجاع
ترجع القيمة التي نمررها لها مكان الباراميتر x كعدد صحيح (int).
مثال
x = '101' # ( string أي ) قيمته عبارة عن نص x هنا قمنا بتعريف متغير إسمه
y = int(x, 2) # y مبنية على الوحدة 2. ثم وضعناها في متغير جديد إسمه x و حددنا أن الـ ( int أي ) إلى قيمة صحيحة x هنا قمنا بتحويل قيمة المتغير
print('x =', x) # x هنا قمنا بعرض قيمة المتغير
print('y =', y) # y هنا قمنا بعرض قيمة المتغير
•سنحصل على النتيجة التالية عند التشغيل.
y = 5
بايثون الدالة float(x)
تعريفها
هذه الدالة موجودة جاهزة في بايثون, و هي تحول القيمة التي نمررها لها مكان الباراميتر x لعدد عشري (float) و ترجعها.
بناؤها
class float([x])
باراميترات
x يمكن أن تكون كائن من أي نوع بشرط أن يكون يمثل قيمة عددية.
ملاحظة: يمكن أن تكون قيمة x عبارة عن عدد أو نص يمثل عدد بشرط أن لا يحتوي على أي رمز أو مسافة فارغة, مثال: '5.2'.
قيمة الإرجاع
ترجع القيمة التي نمررها لها مكان الباراميتر x كعدد عشري (float).
مثال
x = '10.5' # ( float أي ) يمثل عدد عشري ( string أي ) قيمته عبارة عن نص x هنا قمنا بتعريف متغير إسمه
y = float(x) # y ثم وضعناها في متغير جديد إسمه ( float أي ) إلى قيمة عشرية x هنا قمنا بتحويل قيمة المتغير
print('x =', x) # x هنا قمنا بعرض قيمة المتغير
print('y =', y) # y هنا قمنا بعرض قيمة المتغير
•سنحصل على النتيجة التالية عند التشغيل.
y = 10.5
بايثون الدالة complex(real, imag)
تعريفها
هذه الدالة موجودة جاهزة في بايثون, و هي ترجع قيمة المتغير real و المتغير imag كعدد مركب (Complex Number).
العدد المركب بطبيعته يحتوي على قيمتين:
- الأولى هي قيمة المتغير real كالقيمة الحقيقية (Real Part).
- الثانية هي قيمة المتغير imag كقيمة الخيالية (Imaginary Part).
ملاحظة: في حال قمت بتمرير قيمة واحدة لها, فإنك هنا فعلياً تدخل القيمة الحقيقية للعدد المركب, و القيمة الوهمية تعتبر 0.
بناؤها
class complex([real[, imag]])
باراميترات
realعبارة عن عدد يمثل عدد صحيح أو بفاصلة عشرية.imagعبارة عن عدد يمثل عدد صحيح أو بفاصلة عشرية.
ملاحظة: بدل وضع قيمتين منفصلتين, يمكنك تمرير نص يمثل قيمة المتغير real و المتغير imag بشرط أن لا يحتوي على أي رمز أو مسافة فارغة.
مثال: complex('1+2j').
قيمة الإرجاع
ترجع قيمة المتغير real و المتغير imag كعدد مركب (Complex Number).
مثال
x = complex(1, 2) # x و وضعنا العدد المركب الذي أرجعته بناءاً على هذين العددين في المتغير imag و 2 مكان الباراميتر real مع إعطائها 1 مكان الباراميتر complex هنا قمنا باستدعاء الدالة
print('x =', x) # و التي تمثل عدد مركب x هنا قمنا بعرض قيمة المتغير
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة abs()
تعريفها
ترجع القيمة المطلقة للعدد الذي نمرره لها مكان الباراميتر x.
بناؤها
abs(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع القيمة المطلقة للعدد الذي نمرره لها مكان الباراميتر x.
مثال
x = -5 # -قيمته 5 x هنا قمنا بتعريف متغير إسمه
print('x =', x) # كما هي x هنا قمنا بعرض قيمة المتغير
print('abs(x) =', abs(x)) # abs() المطلقة التي أرجعتها الدالة x هنا قمنا بعرض قيمة المتغير
•سنحصل على النتيجة التالية عند التشغيل.
abs(x) = 5
بايثون الدالة round()
تعريفها
ترجع أقرب عدد صحيح للعدد الذي نمرره لها مكان الباراميتر number.
بناؤها
round(number[, ndigits])
باراميترات
numberعبارة عن عدد ليس له نوع محدد.ndigitsهذا باراميتر إختياري أي لست مجبراً على تمرير قيمة مكانه, و هو عبارة عن عدد صحيح يمثل عند أي عدد بعض الفاصلة تريد أن يحدث التقريب Rounding.
في حال مررت القيمةNoneأو لم تمرر قيمة مكان هذا الباراميتر, سيتم إعتبار أنك قمت بتمرير القيمة 0 له و بالتالي لن يتم إظهار أي عدد بعض الفاصلة.
قيمة الإرجاع
ترجع أقرب عدد صحيح للعدد الذي نمرره لها مكان الباراميتر x, ترجعه كـ float.
مثال
x = 5.674 # قيمته 5.674 x هنا قمنا بتعريف متغير إسمه
print('round(',x,') =', round(x)) # x لترجع أقرب قيمة لقيمة المتغير round() هنا قمنا باستدعاء الدالة
print('round(',x,', 1) =', round(x, 1)) # مع تجاهل أي عدد موجود بعد الفاصلة بعدد واحد x لترجع أقرب قيمة لقيمة المتغير round() هنا قمنا باستدعاء الدالة
print('round(',x,', 2) =', round(x, 2)) # مع تجاهل أي عدد موجود بعد الفاصلة بعددين x لترجع أقرب قيمة لقيمة المتغير round() هنا قمنا باستدعاء الدالة
print('round(',x,', 3) =', round(x, 3)) # مع تجاهل أي عدد موجود بعد الفاصلة بثلاثة أعداد x لترجع أقرب قيمة لقيمة المتغير round() هنا قمنا باستدعاء الدالة
print('round(',x,', 4) =', round(x, 4)) # مع تجاهل أي عدد موجود بعد الفاصلة بأربعة أعداد x لترجع أقرب قيمة لقيمة المتغير round() هنا قمنا باستدعاء الدالة
•سنحصل على النتيجة التالية عند التشغيل.
round( 5.674 , 1) = 5.7
round( 5.674 , 2) = 5.67
round( 5.674 , 3) = 5.674
round( 5.674 , 4) = 5.674
بايثون الدالة max()
تعريفها
ترجع العدد الأكبر بين مجموعة الأعداد التي نمررها لها كـ Arguments.
بناؤها
# الشكل الأول max(iterable, *[, key, default]) # الشكل الثاني max(arg1, arg2, *args[, key])
باراميترات
يمكن إستدعاء هذه الدالة بطريقتين:
يمكن تمرير مصفوفة من الأعداد لها كـ Argument مع وضع عناصرها بين
[]أو().و يمكن تمرير أي عدد من الأعداد لها كـ Arguments مع وضع فاصلة بين كل عددين.
قيمة الإرجاع
ترجع العدد الأكبر بين مجموعة الأعداد التي نمررها لها كـ Arguments.
المثال الأول
# هنا قمنا بتعريف 3 متغيرات تحتوي على قيم مختلفة
x = 1
y = 7
z = 4
# max بواسطة الدالة z و y ,x هنا قمنا بعرض القيمة الأكبر بين القيم الموجودة في المتغيرات
print('The biggest number is:', max(x, y, z))
•سنحصل على النتيجة التالية عند التشغيل.
المثال الثاني
# ( أي ككائن واحد يحتوي على مجموعة قيم ) iterable هنا قمنا بتعريف مصفوفة من الأعداد و وضعنا قيمها بداخل [] حتى تصبح كـ
iterable = list([1, 4, 2, 9, 6, 5])
# iterable هنا قمنا بعرض القيمة الأكبر بين القيم الموجودة في الكائن
print('The biggest number is:', max(iterable))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة min()
تعريفها
ترجع العدد الأصغر بين مجموعة الأعداد التي نمررها لها كـ Arguments.
بناؤها
# الشكل الأول min(iterable, *[, key, default]) # الشكل الثاني min(arg1, arg2, *args[, key])
باراميترات
يمكن إستدعاء هذه الدالة بطريقتين:
يمكن تمرير مصفوفة من الأعداد لها كـ Argument مع وضع عناصرها بين
[]أو().و يمكن تمرير أي عدد من الأعداد لها كـ Arguments مع وضع فاصلة بين كل عددين.
قيمة الإرجاع
ترجع العدد الأصغر بين مجموعة الأعداد التي نمررها لها كـ Arguments.
المثال الأول
# هنا قمنا بتعريف 3 متغيرات تحتوي على قيم مختلفة
x = 7
y = 1
z = 4
# min بواسطة الدالة z و y ,x هنا قمنا بعرض القيمة الأصغر بين القيم الموجودة في المتغيرات
print('The smallest number is:', min(x, y, z))
•سنحصل على النتيجة التالية عند التشغيل.
المثال الثاني
# ( أي ككائن واحد يحتوي على مجموعة قيم ) iterable هنا قمنا بتعريف مصفوفة من الأعداد و وضعنا قيمها بداخل [] حتى تصبح كـ
iterable = list([1, 4, 2, 9, 6, 5])
# iterable هنا قمنا بعرض القيمة الأصغر بين القيم الموجودة في الكائن
print('The smallest number is:', min(iterable))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة ceil()
تعريفها
ترجع العدد الصحيح الأكبر أو الذي يساوي العدد الذي نمرره لها مكان الباراميتر x.
بناؤها
ceil(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع العدد الصحيح الأكبر أو الذي يساوي العدد الذي نمرره لها مكان الباراميتر x.
مثال
# ceil() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# ceil() هنا قمنا بعرض العدد الصحيح الأكبر أو الذي يساوي 5.0 الذي أرجعته الدالة
print('math.ceil(5.0) =', math.ceil(5.0))
# ceil() هنا قمنا بعرض العدد الصحيح الأكبر أو الذي يساوي 5.3 الذي أرجعته الدالة
print('math.ceil(5.3) =', math.ceil(5.3))
# ceil() هنا قمنا بعرض العدد الصحيح الأكبر أو الذي يساوي 5.7 الذي أرجعته الدالة
print('math.ceil(5.7) =', math.ceil(5.7))
•سنحصل على النتيجة التالية عند التشغيل.
math.ceil(5.3) = 6
math.ceil(5.7) = 6
بايثون الدالة floor()
تعريفها
ترجع العدد الصحيح الأصغر أو الذي يساوي العدد الذي نمرره لها مكان الباراميتر x.
بناؤها
floor(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع العدد الصحيح الأصغر أو الذي يساوي العدد الذي نمرره لها مكان الباراميتر x.
مثال
# floor() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# floor() هنا قمنا بعرض العدد الصحيح الأصغر أو الذي يساوي 5.0 الذي أرجعته الدالة
print('math.floor(5.0) =', math.floor(5.0))
# floor() هنا قمنا بعرض العدد الصحيح الأصغر أو الذي يساوي 5.3 الذي أرجعته الدالة
print('math.floor(5.3) =', math.floor(5.3))
# floor() هنا قمنا بعرض العدد الصحيح الأصغر أو الذي يساوي 5.7 الذي أرجعته الدالة
print('math.floor(5.7) =', math.floor(5.7))
•سنحصل على النتيجة التالية عند التشغيل.
math.floor(5.3) = 5
math.floor(5.7) = 5
بايثون الدالة pow()
تعريفها
ترجع الناتج من مضاعفة قيمة العدد الذي نمرره لها مكان الباراميتر x مضاعف بقيمة الباراميتر y.
pow إختصار لكلمة power.
بناؤها
pow(x, y)
باراميترات
xعبارة عن عدد ليس له نوع محدد.yعبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع الناتج من مضاعفة قيمة العدد الذي نمرره لها مكان الباراميتر x مضاعف بقيمة الباراميتر y, ترجعه كـ float.
مثال
# pow() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# pow() هنا قمنا بعرض ناتج مضاعفة العدد 5 مرتين الذي أرجعته الدالة
print('pow(5, 2) =', math.pow(5, 2))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة sqrt()
تعريفها
ترجع قيمة الجزر التربيعي (square root) للعدد الذي نمرره لها مكان الباراميتر x.
بناؤها
sqrt(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع قيمة الجزر التربيعي للعدد الذي نمرره لها مكان الباراميتر x, ترجعه كـ float.
مثال
# sqrt() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# sqrt() هنا قمنا بعرض ناتج الجزر التربيعي للعدد 25 الذي أرجعته الدالة
print('sqrt(25) =', math.sqrt(25))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة exp()
تعريفها
ترجع قيمة الـ exponential للعدد الذي نمرره لها مكان الباراميتر x و التي تساوي e**x.
في الرياضيات يرمز للـ exponential بالحرف e و قيمته تساوي 2.718281828459045 و يمكننا الحصول عليها من الموديول math هكذا math.e.
بناؤها
exp(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع قيمة الـ exponential للعدد الذي نضعه لها مكان الباراميتر x و التي تساوي قيمة e مضاعفة بقيمة x.
مثال
# exp() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# exp() للعدد 5 التي أرجعتها الدالة exponential هنا قمنا بعرض قيمة الـ
print('math.exp(5) =', math.exp(5))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة log()
تعريفها
ترجع قيمة الـ Logarithm للعدد الذي نمرره لها مكان الباراميتر x مع إمكانية تحديد نوع الوحدة لهذا العدد.
يرمز له بـ log في الرياضيات.
بناؤها
log(x[, base])
باراميترات
xعبارة عن عدد ليس له نوع محدد.baseهذا باراميتر إختياري أي لست مجبراً على تمرير قيمة مكانه, و هو عبارة عن عدد صحيح يمثل وحدة الباراميترx.
في حال لم تمرر قيمة مكان هذا الباراميتر, سيتم إعتبار أنك قمت بتمرير قيمة الـeمكانه.
قيمة الإرجاع
ترجع قيمة الـ Logarithm للعدد الذي نمرره لها مكان الباراميتر x.
مثال
# log() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# log() التي أرجعتها الدالة ( e تساوي base للعدد 5 ( مع إعتبار أن الـ Logarithm هنا قمنا بعرض قيمة الـ
print('log(5) =', math.log(5))
# log() و التي أرجعتها الدالة ( log base e للعدد 5 ( مع تحديد أننا نستخدم Logarithm هنا قمنا بعرض قيمة الـ
print('log(5, e) =', math.log(5, math.e))
# log() و التي أرجعتها الدالة ( log base 2 للعدد 5 ( مع تحديد أننا نستخدم Logarithm هنا قمنا بعرض قيمة الـ
print('log(5, 2) =', math.log(5, 2))
# log() و التي أرجعتها الدالة ( log base 10 للعدد 5 ( مع تحديد أننا نستخدم Logarithm هنا قمنا بعرض قيمة الـ
print('log(5, 10) =', math.log(5, 10))
•سنحصل على النتيجة التالية عند التشغيل.
log(5, e) = 1.6094379124341003
log(5, 2) = 2.321928094887362
log(5, 10) = 0.6989700043360187
بايثون الدالة log2()
تعريفها
ترجع قيمة الـ Logarithm Base 2 للعدد الذي نمرره لها مكان الباراميتر x.
يرمز له بـ log2 في الرياضيات.
هذه الدالة تعتبر بديل للدالة log(x, 2).
بناؤها
log2(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع قيمة الـ Logarithm Base 2 للعدد الذي نمرره لها مكان الباراميتر x.
مثال
# log2() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# log2() للعدد 5 و التي أرجعتها الدالة Logarithm Base 2 هنا قمنا بعرض قيمة الـ
print('log2(5) =', math.log2(5))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة log10()
تعريفها
ترجع قيمة الـ Logarithm Base 10 للعدد الذي نمرره لها مكان الباراميتر x.
يرمز له بـ log10 في الرياضيات.
هذه الدالة تعتبر بديل للدالة log(x, 10).
بناؤها
log10(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع قيمة الـ Logarithm Base 10 للعدد الذي نمرره لها مكان الباراميتر x.
مثال
# log10() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# log10() للعدد 5 و التي أرجعتها الدالة Logarithm Base 10 هنا قمنا بعرض قيمة الـ
print('log10(5) =', math.log10(5))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة sin()
تعريفها
ترجع قيمة الـ sine للعدد الذي نمرره لها مكان الباراميتر x.
بناؤها
sin(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع قيمة الـ sine للعدد الذي نمرره لها مكان الباراميتر x, ترجعه كـ float.
مثال
# sin() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# sin() للعدد 25 الذي أرجعته الدالة sine هنا قمنا بعرض ناتج الـ
print('sin(25) =', math.sin(25))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة cos()
تعريفها
ترجع قيمة الـ cosine للعدد الذي نمرره لها مكان الباراميتر x.
بناؤها
cos(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع قيمة الـ cosine للعدد الذي نمرره لها مكان الباراميتر x, ترجعه كـ float.
مثال
# cos() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# cos() للعدد 25 الذي أرجعته الدالة cosine هنا قمنا بعرض ناتج الـ
print('cos(25) =', math.cos(25))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة tan()
تعريفها
ترجع قيمة الـ tangent للعدد الذي نمرره لها مكان الباراميتر x.
بناؤها
tan(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع قيمة الـ tangent للعدد الذي نمرره لها مكان الباراميتر x, ترجعه كـ float.
مثال
# tan() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# tan() للعدد 25 الذي أرجعته الدالة tangent هنا قمنا بعرض ناتج الـ
print('tan(25) =', math.tan(25))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة asin()
تعريفها
ترجع قيمة الـ arc sine للعدد الذي نمرره لها مكان الباراميتر x.
القيمة التي نضعها يجب أن تكون بين 1- و 1.
بناؤها
asin(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع قيمة الـ arc sine للعدد الذي نمرره لها مكان الباراميتر x, ترجعه كـ float.
مثال
# asin() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# asin() للعدد 0.5 الذي أرجعته الدالة arc sine هنا قمنا بعرض ناتج الـ
print('asin(0.5) =', math.asin(0.5))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة acos()
تعريفها
ترجع قيمة الـ arc cosine للعدد الذي نمرره لها مكان الباراميتر x.
القيمة التي نضعها يجب أن تكون بين 1- و 1.
بناؤها
acos(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع قيمة الـ arc cosine للعدد الذي نمرره لها مكان الباراميتر x, ترجعه كـ float.
مثال
# acos() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# acos() للعدد 0.5 الذي أرجعته الدالة arc cosine هنا قمنا بعرض ناتج الـ
print('acos(0.5) =', math.acos(0.5))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة atan()
تعريفها
ترجع قيمة الـ arc tangent للعدد الذي نمرره لها مكان الباراميتر x.
بناؤها
atan(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع قيمة الـ arc tangent للعدد الذي نمرره لها مكان الباراميتر x, ترجعه كـ float.
مثال
# atan() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# atan() للعدد 40.5 الذي أرجعته الدالة arc tangent هنا قمنا بعرض ناتج الـ
print('atan(40.5) =', math.atan(40.5))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة degrees()
تعريفها
تحول قيمة العدد الذي نمرره لها مكان الباراميتر x لـ Degrees.
بناؤها
degrees(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع قيمة الـ Degrees للعدد الذي نمرره لها مكان الباراميتر x, ترجعه كـ float.
مثال
# degrees() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# degrees() للعدد 15 الذي أرجعته الدالة Degrees هنا قمنا بعرض ناتج الـ
print('degrees(15) =', math.degrees(15))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة radians()
تعريفها
تحول قيمة العدد الذي نمرره لها مكان الباراميتر x لـ Radians.
بناؤها
radians(x)
باراميترات
x عبارة عن عدد ليس له نوع محدد.
قيمة الإرجاع
ترجع قيمة الـ Radians للعدد الذي نمرره لها مكان الباراميتر x, ترجعه كـ float.
مثال
# radians() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# radians() للعدد 15 الذي أرجعته الدالة Radians هنا قمنا بعرض ناتج الـ
print('radians(15) =', math.radians(15))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة gcd()
تعريفها
ترجع عدد صحيح يمثل القاسم المشترك الأكبر (Greatest Common Divisor) بين العددين اللذين نمررهما لها مكان الباراميترين x و y.
بناؤها
gcd(x, y)
باراميترات
xعبارة عن عدد صحيح.yعبارة عن عدد صحيح.
قيمة الإرجاع
ترجع عدد صحيح يمثل القاسم المشترك الأكبر بين العددين اللذين نمررهما لها مكان الباراميترين x و y.
مثال
# gcd() الذي يحتوي على الدالة math هنا قمنا باستدعاء الموديول
import math
# gcd() هنا قمنا بعرض العدد المشترك الأكبر بين العددين 36 و 45 الذي أرجعته الدالة
print('gcd(36, 45) =', math.gcd(36, 45))
•سنحصل على النتيجة التالية عند التشغيل.
بايثون الدالة random()
تعريفها
ترجع عدد عشري عشوائي بين 0.0 و 1.0.
إذاً, نطاق الأعداد التي ترجعها هو: 0.0 <= N < 1.0.
بناؤها
random()
باراميترات
لا تقبل أي باراميتر.
قيمة الإرجاع
ترجع عدد عشري قيمته بين 0.0 و 1.0.
المثال الأول
# random() الذي يحتوي على الدالة random هنا قمنا باستدعاء الموديول
import random
# random() هنا قمنا بعرض العدد الذي أرجعته الدالة
print('Random Number = ', random.random())
# random() هنا قمنا بعرض العدد الذي أرجعته الدالة
print('Random Number = ', random.random())
# random() هنا قمنا بعرض العدد الذي أرجعته الدالة
print('Random Number = ', random.random())
•سنحصل على ثلاث قيم مختلفة بين 0.0 و 1.0 عند التشغيل.
Random Number = 0.7316381331323908
Random Number = 0.9113637080594214
ملاحظة
يمكننا تغيير نطاق الأعداد التي يمكن أن ترجعها الدالة باستخدام العمليات الحسابية.
فمثلاً بكل بساطة نستطيع ضرب العدد الذي ترجعه الدالة بـ 10 و تحويل الناتج إلى int فيصبح النطاق بين 0 =< N < 10.
المثال الثاني
# random() الذي يحتوي على الدالة random هنا قمنا باستدعاء الموديول
import random
# بعدها قمنا بعرضها int بـ 10 ثم حولنا الناتج إلى random() هنا قمنا بضرب العدد الذي أرجعته الدالة
print('Random Number = ', int(random.random()*10))
# بعدها قمنا بعرضها int بـ 10 ثم حولنا الناتج إلى random() هنا قمنا بضرب العدد الذي أرجعته الدالة
print('Random Number = ', int(random.random()*10))
# بعدها قمنا بعرضها int بـ 10 ثم حولنا الناتج إلى random() هنا قمنا بضرب العدد الذي أرجعته الدالة
print('Random Number = ', int(random.random()*10))
•سنحصل على ثلاث قيم مختلفة بين 0.0 و 1.0 عند التشغيل.
Random Number = 5
Random Number = 1
بايثون الدالة uniform()
تعريفها
ترجع عدد عشري عشوائي بين القيمة التي نمررها لها مكان الباراميتر a و القيمة التي نمررها لها مكان الباراميتر b.
إذاً, نطاق الأعداد التي ترجعها هو: a <= N <= b.
بناؤها
uniform( a, b )
باراميترات
aعبارة عن عدد عشري يحدد أقل قيمة ممكن أن تولدها الدالة.bعبارة عن عدد عشري يحدد القيمة القصوى التي لا يمكن أن ترجعها الدالة.
قيمة الإرجاع
ترجع عدد صحيح عشوائي بين القيمة التي نمررها لها مكان الباراميتر a و القيمة التي نمررها لها مكان الباراميتر b.
مثال
# uniform() الذي يحتوي على الدالة random هنا قمنا باستدعاء الموديول
import random
# هنا قمنا بطباعة ثلاث أعداد عشوائية بين 1 و 10
print('Random Number between [1-10] =', random.uniform(1, 10))
print('Random Number between [1-10] =', random.uniform(1, 10))
print('Random Number between [1-10] =', random.uniform(1, 10))
•سنحصل على ثلاث قيم مختلفة ضمن ثلاث نطاقات مختلفة عند التشغيل.
Random Number between [1-10] = 1.766162593475313
Random Number between [1-10] = 5.147901074651577
بايثون الدالة randrange()
تعريفها
ترجع عدد صحيح عشوائي بين 0 و القيمة التي نمررها لها مكان الباراميتر stop.
أو ترجع عدد صحيح عشوائي بين القيمة التي نمررها لها مكان الباراميتر start و القيمة التي نمررها لها مكان الباراميتر stop.
يمكن إستدعاء هذه الدالة بثلاث طرق, سنتعرف عليها لاحقاً في المثال.
بناؤها
randrange( [start,] stop [,step] )
باراميترات
startعبارة عن عدد صحيح يحدد أقل قيمة ممكن أن تولدها الدالة.
إذا لم يتم تمرير قيمة مكان الباراميترstopستعتبر قيمته تساوي 0.stopعبارة عن عدد صحيح يحدد القيمة القصوى التي لا يمكن أن ترجعها الدالة.stepعبارة عن عدد صحيح يحدد بكم ستضرب القيمة العشوائية التي سيتم إرجاعها مع الأخذ بعين الإعتبار أن الناتج يجب أن يكون ضمن النطاق الذي تم تحديده.
قيمة الإرجاع
ترجع عدد صحيح عشوائي بين 0 و القيمة التي نمررها لها مكان الباراميتر stop.
أو ترجع عدد صحيح عشوائي بين القيمة التي نمررها لها مكان الباراميتر start و القيمة التي نمررها لها مكان الباراميتر stop.
مثال
# randrange() الذي يحتوي على الدالة random هنا قمنا باستدعاء الموديول
import random
# هنا قمنا عدد بطباعة عشوائي بين 0 و 10
print('Random Number between [0-10] = ', random.randrange(10))
# هنا قمنا عدد بطباعة عشوائي بين 1 و 50
print('Random Number between [1-50] = ', random.randrange(1, 50))
# هنا قمنا عدد بطباعة عشوائي بين 1 و 50 مع مع ضرب القيمة التي سترجع بـ 5
print('Random Number between [1-50, step=5] = ', random.randrange(1, 50, 5))
•سنحصل على ثلاث قيم مختلفة ضمن ثلاث نطاقات مختلفة عند التشغيل.
Random Number between [1-50] = 20
Random Number between [1-50, step=5] = 35
بايثون الدالة choice()
تعريفها
ترجع قيمة عشوائية من بين عناصر أي سلسلة (Sequence) نمررها لها.
السلسلة ممكن أن تكون مصفوفة من الأعداد, أو نص عادي (أي سلسلة من الأحرف).
فمثلاً, إذا مررنا لها مصفوفة من الأعداد, ترجع عدد عشوائي من ضمن هذه المصفوفة. و إذا مررنا لها نص, ترجع حرف عشوائي من ضمن هذا النص.
بناؤها
choice( seq )
باراميترات
seq عبارة عن مصفوفة أو نص.
قيمة الإرجاع
إذا مررنا لها مصفوفة من الأعداد, ترجع عدد عشوائي من ضمن هذه المصفوفة.
إذا مررنا لها نص, ترجع حرف عشوائي من ضمن هذا النص.
مثال
# choice() الذي يحتوي على الدالة random هنا قمنا باستدعاء الموديول
import random
# يحتوي على نص s هنا قمنا بتعريف متغير إسمه
s = 'harmash'
# lst هنا قمنا بتعريف مصفوفة تحتوي على أعداد إسمها
lst = [1, 2, 3, 4, 9]
# lst هنا قمنا بطباعة قيمة عنصر عشوائي من عناصر المصفوفة
print('Random element from the list: ', random.choice(lst))
# s هنا قمنا بطباعة حرف عشوائي من أحرف المتغير
print('Random character from the string:', random.choice(s))
•سنحصل على النتيجة التالية عند التشغيل.
Random character from the string: r
بايثون الدالة shuffle()
تعريفها
نمرر لها مصفوفة مكان الباراميتر x فتبدل أماكن عناصرها بشكل عشوائي.
بناؤها
shuffle( x )
باراميترات
x عبارة عن مصفوفة ليس لها نوع محدد.
قيمة الإرجاع
لا ترجع قيمة.
مثال
import random # shuffle() الذي يحتوي على الدالة random هنا قمنا باستدعاء الموديول
arr = [1, 2, 3, 4, 5] # arr هنا قمنا بتعريف مصفوفة تحتوي على أعداد إسمها
print('arr =', arr) # arr هنا قمنا بطباعة قيم جميع عناصر المصفوفة
random.shuffle(arr) # shuffle() بشكل عشوائي بواسطة الدالة arr هنا قمنا بتبديل عناصر المصفوفة
print('arr =', arr) # من جديد لنلاحظ الفرق arr هنا قمنا بطباعة قيم جميع عناصر المصفوفة
•سنحصل على النتيجة التالية عند التشغيل.
arr = [3, 1, 4, 5, 2]