पायथन कोड की कुछ पंक्तियाँ लिखें 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, लेकिन अन्य विकल्प भी हैं।