मैं एक प्रोग्राम को कोड करने की कोशिश कर रहा हूं जो एक अन्य पायथन फ़ाइल से एक स्थापित कक्षा पर कॉल करता है जिसे छात्र कहा जाता है। फ़ाइल छात्र में, StudentInfo नामक एक वर्ग स्थापित होता है और init जांचता है कि क्या डेटा मान्य है (उदाहरण के लिए ग्रेड 9-12 के बीच होना चाहिए, पाठ्यक्रम कोड प्रारूप में फिट होना चाहिए, आदि) मैं कोशिश कर रहा हूं पहले यहां उपयोगकर्ता के इनपुट लें।
import student
import transcript
def add_student(data):
dataDict = data
ID = str(len(dataDict) + 1)
student = StudentInfo(ID, input("Enter the student\'s last name: "), input("Enter the student\'s first name: "), input("Enter the student\'s grade: "), transcript.add_transcript(), input("Is the student registered: "))
return dataDict
जब मैं छात्र को स्टूडेंटइन्फो वर्ग की वस्तु के रूप में परिभाषित करने का प्रयास करता हूं, तो यह वापस आ जाता है NameError: name 'StudentInfo' is not defined.
मुझे यकीन नहीं है कि मैं क्या गलत कर रहा हूँ। मैंने सोचा कि यह इनपुट हो सकता है लेकिन जब मैंने उन्हें हटा दिया तो ऐसा ही कुछ ऐसा ही लग रहा था। कृपया मदद करें और अग्रिम धन्यवाद।
2 जवाब
ऐसा लगता है कि आप StudentInfo
के साथ student
का उपसर्ग लगाना भूल गए हैं। आप या तो प्रतिस्थापित कर सकते हैं:
import student
साथ में:
from student import StudentInfo
या आप प्रतिस्थापित कर सकते हैं:
student = StudentInfo(ID, input("Enter the student\'s last name: "), input("Enter the student\'s first name: "), input("Enter the student\'s grade: "), transcript.add_transcript(), input("Is the student registered: "))
साथ में:
student = student.StudentInfo(ID, input("Enter the student\'s last name: "), input("Enter the student\'s first name: "), input("Enter the student\'s grade: "), transcript.add_transcript(), input("Is the student registered: "))
एक तरफ ध्यान दें: आयात के बाद आपको चर का नाम नहीं देना चाहिए। वेरिएबल student
का नाम बदलकर कुछ और रख दें।
यदि आप import student
का उपयोग कर रहे हैं तो आपको student.StudentInfo
की आवश्यकता है।
वैकल्पिक रूप से, आप इस प्रकार आयात कर सकते हैं:
from student import StudentInfo
आपके पास अभी जो कोड है उसका उपयोग करने के लिए।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।