2011-03-22 9 views
6

मुझे पता है कि यह करना गलत है, लेकिन मैं अजगर 3 का उपयोग कर रहा हूं लेकिन इसे पायथन 2 पुस्तक के साथ पढ़ रहा हूं।पायथन 3.2 निष्क्रिय: रेंज फ़ंक्शन - प्रिंट या सूची?

यह कहते हैं,

>>>range(2,7) 

[2,3,4,5,6] 

दिखाएगा लेकिन मैं इसे ऊपर उत्पादन नहीं दिखाया जाएगा पता है, कि मैं लगा। तो मैं करने की कोशिश की:

>>>>print(range(2,7)) 

और टा-da- यह पता चलता है का पालन करें:

range(2,7) 

इस तरह दिखता है पी 3 के लिए P2 से परिवर्तनों में से एक तो मैं करने की कोशिश की है:

list(range(2,7)) 

यह आईडीएलई पर ठीक काम करता है लेकिन लंबे कोडिंग के लिए नोटपैड पर ठीक नहीं है। इसलिए आखिर में मैंने कोशिश की:

print(list(range(2,7))) 

और यह मेरे जैसा इरादा जैसा कुछ दिखाता है ... क्या मैं सही कर रहा हूं? क्या यह लिखने का यही एकमात्र तरीका है?

+0

यह समस्या ज़िप पर भी लागू होती है। आपको 'सूची (ज़िप (सामान)) की आवश्यकता है –

उत्तर

6

आपके आईडीई मामले में, आप आईडीईई की पीशेल विंडो में कोड चला रहे हैं। यह इंटरैक्टिव दुभाषिया चल रहा है। इंटरैक्टिव मोड में, पायथन आपके द्वारा टाइप की जाने वाली प्रत्येक पंक्ति को तुरंत व्याख्या करता है और यह आपके द्वारा टाइप किए गए कथन का मूल्यांकन करके मानक मूल्य या मानक त्रुटि के लिए लिखे गए मूल्य का मूल्यांकन करके लौटाए गए मान को प्रदर्शित करता है। पायथन 2 के लिए, range() एक सूची देता है और जैसा कि आपने पाया है, पाइथन 3 में, यह एक पुनरावृत्त range() ऑब्जेक्ट देता है जिसका उपयोग आप सूची वस्तु बनाने या पुनरावृत्ति संदर्भों में कहीं और उपयोग करने के लिए कर सकते हैं। पायथन 3 range() पायथन 2 के xrange() के समान है।

जब आप नोटपैड जैसे किसी संपादक में फ़ाइल संपादित करते हैं, तो आप एक स्क्रिप्ट फ़ाइल लिख रहे हैं और जब आप पाइथन दुभाषिया में फ़ाइल चलाते हैं, तो संपूर्ण स्क्रिप्ट का अर्थ एक इकाई के रूप में किया जाता है और चलाया जाता है, भले ही यह केवल एक पंक्ति हो लंबा। स्क्रीन पर, आप केवल मानक आउटपुट (यानी "print()") या मानक त्रुटि (यानी त्रुटि ट्रेसबैक) पर लिखे गए हैं; आप इंटरैक्टिव मोड में करते हुए प्रत्येक कथन के मूल्यांकन के नतीजे नहीं देखते हैं। तो, आपके उदाहरण में, जब किसी स्क्रिप्ट फ़ाइल से चलते हैं, तो यदि आप कुछ मूल्यांकन करने के परिणाम प्रिंट नहीं करते हैं तो आप इसे नहीं देख पाएंगे।

पायथन ट्यूटोरियल इस here के बारे में कुछ बात करता है।

4

यदि आपका एकमात्र लक्ष्य सूची का प्रतिनिधित्व वापस लेना है, तो आप जो कर रहे हैं वह सही है। पाइथन 3.0 अब range का इलाज करता है जैसे एक इटरेटर (xrange करने के लिए उपयोग किया जाता है)

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

  • कोई संबंधित समस्या नहीं^_^