पायथन कोड की कुछ पंक्तियाँ लिखें X
, जो किसी भी वैश्विक चर का संदर्भ नहीं देता है, जैसे कि
def method():
X
print(a)
method()
प्रिंट करता है 1
लेकिन
def method():
X
X
print(a)
method()
प्रिंट करता है 2
।
इसलिए, मैं एक स्टिकर होने से नफरत करता हूं, लेकिन ऐसा लगता है vars
और locals
वास्तव में पायथन में वैश्विक चर हैं:
def test_global_1():
global vars, locals
vars = lambda: 2
locals = lambda: 3
def test_global_2():
print(vars())
print(locals())
test_global_1()
test_global_2()
इसके अलावा, ऐसा लगता है कि लोग इस तरह से पहेली के लिए ऑब्जेक्टिव जीतने के मापदंड देखना चाहेंगे। कोड की लंबाई वास्तव में यहीं महसूस नहीं होती है इसलिए शायद हम कोड के विभिन्न उपन्यास सुविधाओं के लिए ब्राउनी पॉइंट की एक प्रणाली बना सकते हैं? मुझे यकीन नहीं है कि ये क्या हो सकता है लेकिन यहाँ एक शुरुआत है:
- +1 वास्तव में वास्तव में कोई ग्लोबल्स (नहीं
vars
या नहींlocals
) के लिए - किसी विशेष तकनीक को पोस्ट करने वाले पहले व्यक्ति होने के लिए +1
- सबसे छोटे समाधान के लिए +1 पोस्ट किया गया
- एक समाधान के लिए +1 केवल एक पायथन कथन को शामिल करता है
- लेक्सिकल गैर-सीमाओं पर शामिल होने की तरह दिलचस्प "हैक" के लिए +1
- अपवादों का उपयोग नहीं करने के लिए +1
और यदि आप अधिक सोच सकते हैं तो आप इस प्रश्न को सूची में जोड़ने के लिए संपादित कर सकते हैं।
इस समस्या को अपवाद का उपयोग किए बिना हल किया जा सकता है और जैसे वैश्विक का उपयोग किए बिना vars
और locals
? मुझे संदेह है, हालांकि मुझे यह पता नहीं चला है कि अभी तक कैसे ...
X
, लेकिन अन्य विकल्प भी हैं।