2016-07-14 12 views
6

मैं यह पता लगाने की कोशिश कर रहा हूं कि यह कोड कैसे काम करता है। i लूप के बाहर सुलभ कैसे है?पायथन में लूप गणना स्कॉइंग

# Palindrome of string 
str=raw_input("Enter the string\n") 
ln=len(str) 
for i in range(ln/2) : 
    if(str[ln-i-1]!=str[i]): 
     break 
if(i==(ln/2)-1):   ## How is i accessible outside the for loop ? 
    print "Palindrome" 
else: 
    print "Not Palindrome" 
+3

लूप के लिए अपना नामस्थान नहीं है। [अजगर Scoping नियमों के संक्षिप्त वर्णन] (http://stackoverflow.com/questions/291978/short-description-of-python-scoping-rules) –

+1

'मैं' घ पहुँचा जा सकता है क्योंकि पाश चर अपने पिछले के साथ वर्तमान क्षेत्र में रहने मूल्य जब तक आप नाम पर कुछ और निर्दिष्ट नहीं करते हैं। –

+2

क्यों? आप इसे कैसे या किसके लिए कार्यान्वित कर रहे हैं? यह जो करता है उसके लिए यह अत्यधिक जटिल है। 'mystr == mystr [:: - 1]' – Nicarus

उत्तर

1

यह पायथन का हिस्सा है। लूप के अंदर घोषित वैरिएबल (जिसमें लूप काउंटर शामिल हैं) तब तक क्षय नहीं होंगे जब तक कि वे पूरी तरह से गुंजाइश न छोड़ें। जवाब से

Scoping In Python For Loops

:

इस सवाल पर एक नजर डालें

for foo in xrange(10): 
    bar = 2 
print(foo, bar) 

ऊपर प्रिंट होगा (9,2)।

संबंधित मुद्दे