अजगर 2.x में, raw_input()
एक स्ट्रिंग वापस आती है और input()
निष्पादन संदर्भ में इनपुट जिसमें यह
>>> x = input()
"hello"
>>> y = input()
x + " world"
>>> y
'hello world'
अजगर 3.x में कहा जाता है, input
खत्म कर दिया गया है और समारोह में पहले से ज्ञात का मूल्यांकन करता है raw_input
अब input
है। इसलिए यदि आप पुरानी कार्यक्षमता चाहते हैं तो आपको मैन्युअल रूप से compile
और eval
पर कॉल करना होगा।
python2.x python3.x
raw_input() --------------> input()
input() -------------------> eval(input())
3.x में, ऊपर सत्र तो आप शायद interpretor में एक त्रुटि मिल रहे थे, क्योंकि आप अपने इनपुट के आसपास उद्धरण डाल नहीं कर रहे थे इस
>>> x = eval(input())
'hello'
>>> y = eval(input())
x + ' world'
>>> y
'hello world'
>>>
की तरह हो जाता है। यह आवश्यक है क्योंकि इसका मूल्यांकन किया जाता है। आपको नाम त्रुटि कहां मिल रही है?
के रूप में उत्पादन क्या यहाँ पर जा रहा होगा मैं करने की कोशिश की अपने कंसोल पर लाइनें (3.x) और इसका अर्थ x = इनपुट() "हैलो" <- मैं इसे पूछे जाने पर कंसोल पर टाइप करता हूं) एक्स + "दुनिया" वाई 'x + "दुनिया" क्यों? एक्स एक स्ट्रिंग –
त्रुटि मैं >>> एक्स = इनपुट() Traceback (सबसे हाल कॉल पिछले) हो रही थी में अनुवादित किया गया नहीं: फ़ाइल "", लाइन 1, EOFError में: EOF जब एक लाइन पढ़ने –
@ गुइलर्मो, मैंने दिखाया गया दुभाषिया अनुभाग 2.x के लिए है। मैं 3.x पर गड़बड़ कर चुका हूं (मैंने इसके साथ बहुत कुछ नहीं खेला है) इसलिए मैंने अपने जवाब के उस हिस्से को हटा दिया। – aaronasterling