input string in python 3
我有字符串变量测试,在Python2.7中,这很好。
1 2 | test = raw_input("enter the test") print test |
但在python 3.3中。我用
1 2 | test = input("enter the test") print test |
使用输入字符串
Traceback (most recent call last):
File"/home/ananiev/PycharmProjects/PigLatin/main.py",
line 5, in
test = input("enter the test")File"", line 1, in NameError: name 'sdas' is not defined
您正在使用python 2解释器运行python 3代码。如果没有,那么在提示输入之前,您的
结果是,您使用的是python 2的
我想你需要的代码是:
1 2 | test = input("enter the test") print(test) |
否则,由于语法错误,它根本不应该运行。
1 2 3 4 5 6 7 8 9 10 11 12 13 | temperature = input("What's the current temperature in your city? (please use the format ??C or ???F) >>>") ### warning... the result from input will <str> on Python 3.x only ### in the case of Python 2.x, the result from input is the variable type <int> ### for the <str> type as the result for Python 2.x it's neccessary to use the another: raw_input() temp_int = int(temperature[:-1]) # 25 <int> (as example) temp_str = temperature[-1:] #"C" <str> (as example) if temp_str.lower() == 'c': print("Your temperature in Fahrenheit is: {}".format( (9/5 * temp_int) + 32 ) ) elif temp_str.lower() == 'f': print("Your temperature in Celsius is: {}".format( ((5/9) * (temp_int - 32)) ) ) |
这个问题很简单,我不知道为什么人们会回答得这么糟糕。
解决方案:
如果使用python 2.x:
1 2 3 4 5 | then for evaluated input use"input" example: number = input("enter a number") and for string use"raw_input" example: name = raw_input("enter your name") |
如果使用python 3.x:
1 2 3 4 5 | then for evaluated result use"eval" and"input" example: number = eval(input("enter a number")) for string use"input" example: name = input("enter your name") |
在Ubuntu之类的操作系统中,python是预装的。所以默认版本是python 2.7,您可以通过在终端中键入下面的命令来确认版本。
1 | python -V |
如果您安装了它,但没有设置默认版本,您将看到
1 | python 2.7 |
在终端。我将告诉您如何在Ubuntu中设置默认的python版本。
一个简单安全的方法是使用别名。将其放入~/.bashrc或~/.bash_别名文件:
1 | alias python=python3 |
在文件中添加上述内容后,运行以下命令:
现在使用
如果python版本3.x.x 1,那么错误在您的语法中,就像使用带括号的print一样。把它改成
1 2 | test = input("enter the test") print(test) |
我也犯了同样的错误。在终端中,当我键入"python filename.py"时,使用此命令,python2将运行python3代码,因为它是写python3的。当我在终端中键入"python3 filename.py"时,它会正确运行。我希望这对你也有用。
sdas作为一个变量被读取。若要输入所需的字符串,""