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 中的文字浮点值,一个数字。

可能您正在学习适用于 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 回答
0

str() 是 Python 语言中的一个内置函数,可将其他数据类型转换为字符串。所以str必须是关键字,不能作为变量名。请使用任何其他变量名而不是“str”。

于 2020-04-11T19:44:02.720 回答