0

これは私のテストコードですtest.py:

str = input("IP: ")                                               
print(str) 

実行すると、次のエラーが表示されます。

➜  PingScript git:(master) ✗ python test.py                      
IP: 1.1.1.1 


Traceback (most recent call last):                      
  File "test.py", line 1, in <module>                            
    str = input("IP: ")                                          
  File "<string>", line 1                                         
    1.1.1.1                                                      
        ^                                                 
SyntaxError: invalid syntax 

これは、入力として使用1.1.1.1した場合にのみ発生し、入力として使用した場合には発生しません1.1。ここで何が起こっているのでしょうか? で解析しようとしましたstr(str)が、それでも同じエラーが発生します。

4

3 に答える 3

7

input()入力を python 式として解析しようとします。raw_input()代わりに使用してください。

これ1.1は Python のリテラル float 値、数値であるため、入力として機能します。

Python 3 向けのチュートリアルに従っているのに、代わりに Python 2 を使用している可能性があります。Python 3 では、raw_input()関数の名前が に変更されinput()、古いinput()関数は完全に削除されました。その場合は、Python 3 をインストールして、そこから続行してください。

于 2012-11-13T12:29:05.200 に答える
1

input()入力内容を有効な Python コードであるかのように評価します。raw_input()、入力を受け入れて文字列として返します。1.1.1.1は有効な Python コードではないため、エラーが発生します。1.1はPythonのフロートであるため、動作しているようです:

>>> input('Enter: ')
Enter: 1+1
2
>>> raw_input('Enter: ')
Enter: 1+1
'1+1'
>>> input('Enter: ')
Enter: 1.1
1.1000000000000001
于 2012-11-13T12:30:39.847 に答える