"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا تقوم Python بإلقاء خطأ \"NameError: الاسم \'d\' غير محدد\"؟

لماذا تقوم Python بإلقاء خطأ \"NameError: الاسم \'d\' غير محدد\"؟

تم النشر بتاريخ 2024-11-21
تصفح:621

Why Does Python Throw a \

خطأ بايثون: الاسم '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