• 0
mohamedz

الدرس الحادي عشر : دوال بايثون الجاهزة

سؤال

الفصل الثاني Functions & Procedures

الدرس الحادي عشر : دوال بايثون الجاهزة

تعلمنا في الدرس العاشر كيفية برمجة الدوال Functions اليوم سأشرح بعض الدوال الجاهزة التي تمنحها لك بايثون حتى لا تبرمج كل شيء بنفسك.

(raw_input(prompt

تعرضنا لهذه الدالة كثيرا في الدروس السابقة وهي تستعمل لإستقبال البيانات من المستخدم بحيث تعرض محث لاستلام مدخلات ثم تعيد سلسلة نصية.

prompt هو معيار هذه الدالة و نعوضه بالرسالة التي نريد أن تظهر للمستخدم قبل إدخاله للبيانات.

(input(prompt

هي تشبه الدالة (raw_input(prompt الفرق الوحيد بينهما أن الأولى تعيد سلسة نصية و الثانية تعيد قيمة عددية.

(abs(number

تعيد القيمة المطلقة (Absolute value) للعدد و هي العدد بدون إشارة.

>>> abs(5)
5
>>> abs(-5)
5

(max(iterable

دالة تتعامل غالبا مع الحاويات (container)، تعيد أكبر قيمة في الحاوية كالتالي :

>>> max("mohamed") #string container
'o'
>>> max([0, 1, 2, 3, 4, 5]) #list cotainer
5
>>> max(('a', 'b', 'c', 'd', 'e', 'f')) #tuple container
'f'
>>> max({'key1' : 10, 'key2' : 20, 'key3' : 30}) #dict container
'key3'

(min(iterable

هي عكس الدالة max، فهي تعيد أصغر قيمة.

>>> min("mohamed") #string container
'a'
>>> min([0, 1, 2, 3, 4, 5]) #list cotainer
0
>>> min(('a', 'b', 'c', 'd', 'e', 'f')) #tuple container
'a'
>>> min({'key1' : 10, 'key2' : 20, 'key3' : 30}) #dict container
'key1'

ملاحظة : معرفة القيمة الأصغر أو الأكبر للأحرف تتم بناءا على قيمتها في جدول ASCII

post-266464-063385900 1346684675_thumb.g

بإمكانك الحصول على قيمة الحرف في جدول ASCII من خلال الدالة (ord(char، وللحصول على الحرف من خلال القيمة نستخدم الدالة (chr(i، كالتالي :

>>> ord('A')
65
>>> ord('a')
97
>>> chr(65)
'A'
>>> chr(97)
'a'

(bin(num

تحول القيمة num الي النظام الثنائي، كالتالي :

>>> bin(100)
'0b1100100'

(oct(num

تحول القيمة num الي النظام الثماني، كالتالي :

>>> oct(100)
'0144'

(hex(num

تحول القيمة num الى النظام الست عشري، كالتالي :

>>> hex(100)
'0x64'

(round(num, digits

هي دالة تقوم بتقريب العدد num إلى الفاصلة بعدد معين من الأرقام يساوي digits، كالتالي :

>>> round(1.111111, 4)
1.1111
>>> round(1.111111, 2)
1.11

(range(end

تعيد list من 0 الى end، كالتالي :

>>> range(10) # 0 to 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

(range(start, end

تعيد list من start الى end، كالتالي :

>>> range(1, 5)
[1, 2, 3, 4]

(range(start, end, step

تعيد list من start الى end بخطوات مقدارها step، كالتالي :

>>> range(1, 20, 3)
[1, 4, 7, 10, 13, 16, 19]

(len(object

الدالة len إستخداماتها تختلف حسب المعيار (argument) الذي يمرر إليها، مثلا إذا كان string سيتم إعادة عدد حروفه،و إذا كان list أو tuple أو dict سيتم إعادة عدد عناصره، مثلا :

>>> len('Mohamed') # string
7
>>> len([1, 2, 3, 4, 5]) # list
5
>>> len(('a', 'b', 'c', 'd')) # tuple
4
>>> len({'Lang' : 'python', 'Site' : 'python.org'}) # dict
2

تمارينات

1- برمج دوال مشابهة للدوال أعلاه و تعمل نفس عملها. كما في المثال التالي حيث الدالة MYraw_input تعمل نفس عمل الدالة raw_input :

>>> def MYraw_input(prompt) :
return raw_input(prompt)

>>> i = MYraw_input("Input any thing : ")
Input any thing : WoW! it is good
>>> i
'WoW! it is good'

2- برمج دالة تعرض جدول ASCII.

من كتاب بايثون العربي بتصرف

إنتهى الفصل الثاني بحمد الله

فهرس الدورة

الفصل الاول : أساسيات بايثون

دورة بايثون من الصفر الى الاحتراف

الدرس الاول : أمر الطباعة print + التعليقات

الدرس الثاني : المتغيرات Variables

الدرس الثالث : الإدخال Input

الدرس الرابع : الجملة الشرطية if

الدرس الخامس : المقاطع string

الدرس السادس : الكائنات متعددة العناصر (الجزء الأول)

الدرس السابع : الكائنات متعددة العناصر (الجزء الثاني)

الدرس الثامن : الحلقات loops (الجزء الأول)

الدرس التاسع : الحلقات loops (الجزء الثاني)

إزالة الغموض من الفصل الأول

الفصل الثاني Functions & Procedures :

الدرس العاشر : الدوال Function

الدرس الحادي عشر : دوال بايثون الجاهزة

تم تعديل بواسطه mohamedz
5

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

4 إجابة على هذا السؤال .

  • 0

جيد جدا درس رائع موفق

شكراا.

بإمكانك وضع محاولاتك في التمارينات في الردود.

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مآآقصرت

بس باقيلي دروس افهمها واطبقها وعطيك التمارين

الفصل اللي بعده عن وش يتكلم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مآآقصرت

بس باقيلي دروس افهمها واطبقها وعطيك التمارين

الفصل اللي بعده عن وش يتكلم

يتكلم عن البرمجة الكائنية المنحى oop

لقد وجدت في المنتدى مقال رائع يشرح ال oop بشكل مبسط للمبتدئين ربما سأعطيكم الرابط فقط

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .