خطأ بايثون: الاسم 'd' غير محدد
عند تعلم بايثون، من الشائع مواجهة أخطاء قد يكون من الصعب تحديدها. خذ بعين الاعتبار المثال التالي من Python 3 للمبتدئين المطلقين:
Name = "" Desc = "" Gender = "" Race = "" # Prompt user for user-defined information Name = input('What is your Name? ') Desc = input('Describe yourself: ')
عند التنفيذ، يتوقع هذا الرمز أن يقوم المستخدم بإدخال قيمة لاسمه، والتي يقوم بإدخالها كـ "d". ومع ذلك، يستجيب البرنامج بالخطأ:
NameError: name 'd' is not defined
فهم الخطأ:
في Python 2. x، تتعامل الدالة input() مع 'd' كتعبير بايثون، وتفسره على أنه متغير يسمى 'd'. ومع ذلك، بما أن 'd' لم يتم تعريفه داخل البرنامج، فإنه يؤدي إلى حدوث خطأ في الاسم.
الحل:
لحل هذا الخطأ، فكر في طريقتين:
1. استخدام Raw_input () في Python 2.x:
في Python 2.x، تُرجع Raw_input () القيمة المُدخلة كسلسلة أولية، مما يمنع تفسيرها كتعبير.
# Python 2.x Name = raw_input('What is your Name? ')
2. الترقية إلى Python 3.x:
قدمت Python 3.x وظيفة input() موحدة تتصرف بشكل متسق مع Raw_input() من Python 2.x. ولذلك، فإن استخدام Python 3.x من شأنه أن يلغي الحاجة إلى Raw_input() في هذا السيناريو.
# Python 3.x Name = input('What is your Name? ')
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3