دالة Range
جزء من قسم Fundamentals في رحلة Python على Coddy — الدرس 40 من 77.
تقوم دالة range() في لغة بايثون بتوليد تسلسل من الأرقام، والتي تُستخدم عادةً مع حلقات for لتكرار الكود عدداً محدداً من المرات.
أنشئ نطاقاً يبدأ من 0 وينتهي عند 4:
for i in range(5):
print(i)سيكون الناتج:
0
1
2
3
4يمكنك أيضاً تحديد قيمة بداية:
for i in range(2, 6):
print(i)سيكون الناتج:
2
3
4
5ويمكنك تحديد قيمة الخطوة (الزيادة):
for i in range(1, 10, 2):
print(i)سيكون الناتج:
1
3
5
7
9العد التنازلي (ترتيب تنازلي):
يمكنك أيضاً استخدام قيمة خطوة سالبة للعد التنازلي. عند استخدام خطوة سالبة، يجب أن تكون قيمة البداية أكبر من قيمة النهاية:
for i in range(10, 0, -1):
print(i)سيكون الناتج:
10
9
8
7
6
5
4
3
2
1يمكنك أيضًا استخدام خطوات سالبة أكبر:
for i in range(20, 9, -2):
print(i)سيكون الناتج كالتالي:
20
18
16
14
12
10لاحظ أن 10 مضمن في المخرجات على الرغم من أن قيمة النهاية هي 9. هذا لأن قيمة النهاية غير شاملة — تستمر الحلقة طالما أن القيمة الحالية أكبر من قيمة النهاية. بما أن 10 > 9، فقد تمت طباعتها. الخطوة التالية ستكون 8، وهي ليست أكبر من 9، لذا تتوقف الحلقة.
نقطة رئيسية: عند استخدام خطوة سالبة، يجب أن تكون قيمة البداية أكبر من قيمة النهاية. تظل قيمة النهاية حصرية (غير مدرجة).
التحدي
مبتدئاكتب حلقة for تقوم بطباعة الأرقام باستخدام الدالة range(). يجب أن يقوم برنامجك بما يلي:
- قراءة ثلاثة أرقام كمدخلات:
start، وend، وstep - استخدم حلقة for مع
range(start, end, step)لطباعة جميع الأرقام منstartإلىend(لا تشملend) بزيادة قدرهاstepالمعطاة - اطبع كل رقم في سطر جديد
التعليمات:
- كود قراءة المدخلات مقدم بالفعل
- استبدل التعليق بحلقة for الخاصة بك
- استخدم
range(start, end, step)في حلقتك
ورقة مرجعية
يمكن استخدام دالة range() بثلاث طرق:
range(stop): تبدأ من 0، وتنتهي عند stop (غير شامل)، وتتقدم بمقدار 1range(start, stop): تبدأ عند start (شامل)، وتنتهي عند stop (غير شامل)، وتتقدم بمقدار 1range(start, stop, step): تبدأ عند start، وتنتهي عند stop، وتستخدم الخطوة (step) المحددة
أمثلة:
# العد من 0 إلى 4
for i in range(5):
print(i)
# العد من 2 إلى 5
for i in range(2, 6):
print(i)
# عد الأرقام الفردية من 1 إلى 9
for i in range(1, 10, 2):
print(i)
# العد التنازلي بمقدار 2 من 10 إلى 2
for i in range(10, 0, -2):
print(i)تذكر:
- البداية (Start) شاملة، والنهاية (stop) غير شاملة
- يمكن أن تكون الخطوة (Step) موجبة أو سالبة
جرّب بنفسك
# الحصول على مدخلات من المستخدم
start = int(input())
end = int(input())
step = int(input())
# اكتب حلقة for الخاصة بك هنا
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات2المتغيرات
الأرقامالنصوص (String)القيم المنطقية (Boolean)قواعد التسميةالمتغيرات الفارغةمراجعة - تهيئة المتغيرات8الحلقات التكرارية
حلقة Forحلقة Whileجملة Breakجملة Continueمراجعة - المضروب (Factorial)دالة Rangeالحلقات المتداخلةمراجعة - Dynamic Input3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراجالإخراج مع المتغيراتالإدخالتحويل الأنواعمراجعة - حتى 120مراجعة - صح أم خطأ