سؤال

أنا أقول برنامجي لطباعة الخط 53 من الإخراج. هل هذا الخطأ يخبرني أنه لا توجد خطوط كثيرة وبالتالي لا يمكن طباعةها؟

هل كانت مفيدة؟

المحلول

إذا كان لديك قائمة مع 53 عنصرا، فإن آخر واحد هو thelist[52] لأن الفهرسة تبدأ في 0.

نصائح أخرى

نعم،

تحاول الوصول إلى عنصر القائمة غير موجودة.

MyList = ["item1", "item2"]
print MyList[0] # Will work
print MyList[1] # Will Work
print MyList[2] # Will crash.

هل لديك خطأ خارج واحد؟

نعم. لا يحتوي التسلسل على العنصر 54.

هذا صحيح. "فهرس القائمة خارج النطاق" على الأرجح يعني أنك تشير إلى n-th عنصر القائمة، في حين أن طول القائمة أصغر من n.

ضع في اعتبارك دائما عندما تريد التغلب على هذا الخطأ، تبدأ القيمة الافتراضية للفهرسة والمشغل من 0، لذلك إذا كانت إجمالي العناصر 100 ثم سيقدم لك L [99] و Range (99) الوصول إلى العنصر الأخير.

عند الحصول على هذا النوع من الأخطاء، يرجى التحقق من العناصر التي تأتي بين / منتصف في النطاق، وتؤمن أن مؤشرها لا يدوم إذا تلقيت الإخراج، لقد قمت بإجراء خطأ مثالي المذكورة أعلاه.

طريقة عمل فهرسة بيثون هي أنها تبدأ في 0, ، وبالتالي فإن العدد الأول من قائمتك سيكون [0]. يجب عليك طباعة [52]، حيث أن مؤشر البدء هو 0، وبالتالي سطر 53 هو [52].

طرح 1 من القيمة ويجب أن تكون على ما يرام. :)

إذا قرأت قائمة من الملف النصي، فقد تحصل على آخر سطر فارغ كعنصر قائمة. يمكنك التخلص منها مثل هذا:

list.pop()
for i in list:
   i[12]=....
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top