بيانات التسلسل النطاق range

بيانات التسلسل النطاق range

بيانات التسلسل النطاق range

تابع بيانات التسلسل: المدي range لارجاع سلسلة من الارقام بين النطاق المحدد.

بايثون النطاق range()

تقوم الدالة range بارجاع مجموعة من الارقام المحددة ضمن النطاق : علي سبيل المثال اذا كنت تريد طباعة جملة 6 مرات ولا تريد استخدام جملة الطباعة print الا مرة واحدة داخل حلقة تكرار ؛ فسوف تستخدم دالة range لانشاء قائمة وهمية من الارقام للتكرار عليها. لتتعرف عليها اكثر تابع.

مثال علي دالة range() في بايثون

x = range(0, 6)
print(x)
print(type(x))

في البداية صرحنا عن متغير x واضفنا له القيمة نطاق من 6 ارقام يبدا من الصفر وينتهي عند رقم 6.

ثم طبعنا قيمة متغير x والناتج هو range(0, 6) ، ثم طبعنا نوع بيانات متغير x والناتج هو <class 'range'>.

سوف نحول النطاق range الي قائمة list حتي تتعرف علي شكل البيانات داخل النطاق.

مثال بايثون تحويل النطاق الي قائمة.

x = range(0, 6)
L = list(x)
print(L)

print(L[-1])

كما تري في المثال السابق النطاق هو مجموعة من الارقام الصحيحة في تسلسل مفصولة بفاصلة ( , ) مثلها مثل باقي انواع التسلسل ما عدا النصوص.

عند طباعة متغير L نتج عن هذا قائمة [0, 1, 2, 3, 4, 5] تبدا من الصفر الي 5 كما ذكرنا سابقاً رقم 6 غير مضمن.

علي السطر الاخير طبعنا اخر عنصر في القائمة وهو 5.

في بايثون تستخدم دالة range بكثرة في حلقات التكرار for loop لجعل حلقة التكرار تكرر العملية في النطاق المحدد داخل دالة النطاق range.

بايثون مثال علي دالة range في حلقة التكرار for loop.

for i in range(0, 6):
    print(i)

في المثال السابق اخبرنا حلقة التكرار بان تكرر العملية في نطاق 0 الي 6 ، وداخل حلقة التكرار قمنا بطباعة العنصر الحالي في النطاق.

كما تلاحظ في كل تكرار تم طباعة العنصر الحالي من 0 الي 5 ومرة اخري ال6 غير مضمن.

في الدروس السابقة استخدمنا دالة range وتعرفنا علي البداية والنهاية والخطوة (start, stop, step) ، وفي هذا الدرس استخدمنا البداية والنهاية لنشاهد في المثال التالي استخدامات الخطوة.

بايثون مثال علي عوامل دالة range(start, stop, step)

for i in range(0, 6, 2):
    print(i)

ناتج الكود السابق هو 0، 2، 4 لان عامل step = 2 ؛ بمعني ان الخطوة داخل النطاق تساوي عنصرين لذلك يتم تخطي رقم او عنصر.

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

مثال علي تحويل range الي list

x = range(0, 6, 2)
print(list(x))

قم بتشغيل المثال السابق وسوف تحصل علي تلك النتيجة [0, 2, 4] وهذا هو النطاق الحالي بعد التخطي step، لا تنسي تغيير قيمة عامل step ومشاهدة النتائج المختلفة ، ايضا قم بتعديل عاملا البداية والنهاية.

مثال

for i in range(20, 101, 5):
    print(i)

بايثون نطاق تنازلي range

النطاق يتضمن اعداد صحيحة والاعداد الصحيحة هي كل الارقام الموجبة والسالبة التي لا تتضمن كسور او ارقام عشرية.

وعلي هذا الاساس يمكن انشاء نطاق بالسالب للتراجل او للعد التنازلي.

بايثون مثال نطاق تحت الصفر

for i in range(0, -10, -1):
    print(i)

في المثال السابق سوف تحصل علي طباعة من 0 الي -9 والسبب ان البداية 0 والنهاية -10 والخطوة هي تراجع خطوة واحدة، ويمكن ايضا التراجع اي عدد من الخطوات.

for i in range(0, -10, -3):
    print(i)

كما تري تم التراجع 3 عناصر في كل مرة ليكون الاخراج 0، -3، -6، -9.

كود بايثون جاهز

بعد ان تعرفنا علي دالة range واستخدمناها كثيراً مع صديقتها for loop لنقم ببرمجة كود مؤقت بسيط بواسطة python.

في هذا الكود سوف نحتاج الي

  1. مكتبة الوقت time
  2. حلقة تكرار for
  3. دالة range

سوف نستخدم مكتبة time لتاخير تنفيذ حلقة التكرار 1/ثانية في كل تكرار.

import time
for i in range(10, 0, -1):
    print(i, end='=>')
    time.sleep(1)

في كود بايثون السابق تم استدعاء مكتبة time ثم حددنا نطاق التكرار من 10 الي 0 تنازلي -1 ، وداخل التكرار وتحديدا داخل دالة الطباعة print استخدمنا العامل end لجعل الطباعة كلها علي سطر واحد ، ومن خلال time.sleep قمنا بالتاخير 1 ثانية.

الاختبار

داخل المحرر التالي قم بالتصريح عن دالة جديدة باسم mkrange تمتلك العوامل التالية بالترتيب:

  • start
  • stop
  • step

بعد انشاء الدالة وعواملها؛ من داخل كتلة الدالة ابداء الكتابة وافعل الاتي:

قم باستخدام البيانات الموجودة في العوامل الثلاث start, stop, step لانشاء نطاق ، ثم قم بتحويل النطاق الي قائمة list ، ثم قم بارجاع القائمة بواسطة return وليس print.

مثال 

def xyz(x, y, z)
    rg = .............
    return rg

سوف يقوم النظام لدينا بتشغيل الدالة خاصتك بشكل متكرر وارسال بيانات مختلفة في كل مرة الي الثلاث عوامل start, stop, step.

ان كنت لا تعرف كيفية التصريح عن الدوال وعوامل الدالة وارجاع البيانات قم بمراجعة درس مقدمة عن الدوال.

حلول الاعضاء
فتح الحلول مقابل 5
مقفل
output
terminal

Next

التعليقات

no comments found.
  • من خلال الضغط علي زر {;} في شريط الادوات يمكنك اضافة اكواد بايثون الي التعليق للتجربة اون لاين.
  • برجاء مراعاة قواعد الكتابة، والادب.