المبرمج العربي نشر 12 ديسمبر 2015 أرسل تقرير نشر 12 ديسمبر 2015 هذا السؤال حيرني منذ بدأت تعلم لغة بايثون، فلو نفذت هذا السطر:>>> range(1,11) فسيرجع لي القائمة التالية؟[1,2,3,4,5,6,7,8,9,10] فلماذا لا يرجع لي المجال بين 1 إلى11 بدلا من 1 إلى 10؟ لماذا دائما النهاية – 1؟ اقتباس
0 هشام رزق الله نشر 12 ديسمبر 2015 أرسل تقرير نشر 12 ديسمبر 2015 هنالك عدّة أسباب لجعل النهاية في دالة المدى أقل بواحد من المجال الموجود، وأهمها شيوع كتابة range(0, 10) والتي سترجع القائمة التالية [0,1,2,3,4,5,6,7,8,9] الحاوية على 10 عناصر وهي توافق len(range(0, 10)).تذكّر أن المبرمجين يفضلون استخدام الفهرسة التي يكون فيها أول عنصر هو 0.أي أن إذا كان المعامل الأول صفر فالمعامل الثاني سيكون طول هذه القائمة.في حالة ما أردت أن يكون المجال بين 1 وأي رقم تريده (يكون ضمن المجال) فيمكنك في هذه الحالة إنشاء دالتك الخاصة كما في المثال التالي:>>> range1 = lambda start, end: range(start, end+1) >>> range1(1, 10) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] اقتباس
السؤال
المبرمج العربي
هذا السؤال حيرني منذ بدأت تعلم لغة بايثون، فلو نفذت هذا السطر:
فسيرجع لي القائمة التالية؟
فلماذا لا يرجع لي المجال بين 1 إلى11 بدلا من 1 إلى 10؟ لماذا دائما النهاية – 1؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.