تقسيم خطوط الإدخال: التعامل مع أخطاء القيمة
عند تقسيم خطوط الإدخال باستخدام وظيفة Split () ، من الضروري التأكد من أن خطوط الإدخال تحتوي على الفواصل المتوقعة إذا كان السطر يفتقر إلى الفاصل المعين، مثل النقطتين (:)، فستُرجع الدالة Split() إما قيمة واحدة أو استثناء.
فهم أخطاء القيمة
سبب ValueErrors
في التعليمات البرمجية المحددة الخاصة بك، من المحتمل أن تنشأ ValueErrors من السطر الأخير في ملف الإدخال، والذي قد يحتوي على مسافات فارغة فقط. عند تنفيذ التابع string.strip() على هذه المساحات الفارغة، فإنه يُرجع سلسلة فارغة، والتي عند تقسيمها على نقطتين تعطي سلسلة فارغة. هذا يتركك مع عنصر واحد، مما يؤدي إلى ظهور الخطأ "الحاجة إلى أكثر من قيمة واحدة لفك الضغط".
الحل
لمنع أخطاء القيمة هذه، يمكنك إجراء فحص للتأكد من أن كل سطر يحتوي على الفاصل المتوقع. إليك نسخة معدلة من الكود الخاص بك:questions_list = [] قائمة الإجابات = [] مع فتح ('qanda.txt'، 'r') كملف_الأسئلة: للخط في questions_file: الخط = الخط. الشريط () إذا ':' في السطر: الأسئلة والأجوبة = line.split(':') questions_list.append(الأسئلة) Answers_list.append(answers)questions_list = [] answers_list = [] with open('qanda.txt', 'r') as questions_file: for line in questions_file: line = line.strip() if ':' in line: questions, answers = line.split(':') questions_list.append(questions) answers_list.append(answers)من خلال إضافة عبارة if التي تتحقق من وجود فاصل النقطتين، فإنك تقوم بتصفية الأسطر التي تفتقر إليه وتمنع الدالة Split() من رفع ValueErrors.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3