2017-04-26 3 views
0

以下のinput()呼び出しがどのように処理されるかをご覧ください。私は間違って何をしていますか?python対jython - 入力とNameError:名前 ''が定義されていません

> python 
Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 17:54:52) [MSC v.1900 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> currentQryAlias=input('Please enter alias for the query: ') 
Please enter alias for the query: recospace 
>>> print ('What is the value of currentQryAlias? ', currentQryAlias) 
What is the value of currentQryAlias? recospace 
>>> print ('type of currentQryAlias: ',type(currentQryAlias)) 
type of currentQryAlias: <class 'str'> 
>>> ^Z 


cd C:\Python\jython2.7.0 
> .\bin\jython 
Jython 2.7.0 (default:9987c746f838, Apr 29 2015, 02:25:11) 
[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.8.0_31 
Type "help", "copyright", "credits" or "license" for more information. 
>>> currentQryAlias=input('Please enter alias for the query: ') 
Please enter alias for the query: recospace 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "<string>", line 1, in <module> 
NameError: name 'recospace' is not defined 
>>> 

基本的に、私は文字列を入力する必要がある場合、引用符で囲む必要があります。 jythonの呼び出しで 'recospace'と入力すると同じことがうまくいきます。

> .\bin\jython 
Jython 2.7.0 (default:9987c746f838, Apr 29 2015, 02:25:11) 
[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.8.0_31 
Type "help", "copyright", "credits" or "license" for more information. 
>>> currentQryAlias=input('Please enter alias for the query: ') 
Please enter alias for the query: 'recospace' 
>>> 

実際のPythonの呼び出しは、Python 3.xのであるのに対しおかげで、 DP

答えて

1

Jythonのバージョンは、Pythonの2.7互換性がありますこれは実際にはJythonとは関係ありません。

python v2の入力呼び出しは、v3とは異なります。

これはthisページでよく説明されています。

+0

本当にありがとうございます。 –

関連する問題