我想从用户那里获取一个字符串,然后对其进行操作。
testVar = input("Ask user for something.")
有没有办法让testVar成为一个字符串,而不是让用户在引号中输入响应?即" Hello“vs. Hello
如果用户输入Hello,我会得到以下错误:
NameError:未定义名称“Hello”
发布于 2011-02-11 01:01:34
使用raw_input()
而不是input()
testVar = raw_input("Ask user for something.")
input()
实际上将输入计算为Python代码。我建议永远不要使用它。raw_input()
返回用户输入的逐字字符串。
发布于 2011-02-11 01:02:01
函数input
还将计算它作为python代码读取的数据,这并不是您真正想要的。
一般的方法是像对待任何其他文件一样对待用户输入(来自sys.stdin
)。试一试
import sys
sys.stdin.readline()
如果想保持简短,可以使用与input
相同但省略求值的raw_input
。
发布于 2017-08-30 19:51:28
我们可以在Python2中使用raw_input()
函数,在Python3中使用input()
函数。默认情况下,input函数接受字符串格式的输入。对于其他数据类型,您必须强制转换用户输入。
在Python2中,我们使用raw_input()
函数。它等待用户键入一些输入并按下return
,我们需要通过强制转换为我们想要的数据类型来将值存储在一个变量中。使用类型转换时要小心
x = raw_input("Enter a number: ") #String input
x = int(raw_input("Enter a number: ")) #integer input
x = float(raw_input("Enter a float number: ")) #float input
x = eval(raw_input("Enter a float number: ")) #eval input
在Python3中,我们使用input()函数,它返回一个用户输入值。
x = input("Enter a number: ") #String input
如果你输入一个字符串,int,float,eval,它将被当作字符串输入
x = int(input("Enter a number: ")) #integer input
如果您为int cast ValueError: invalid literal for int() with base 10:
输入字符串
x = float(input("Enter a float number: ")) #float input
如果为浮点型转换ValueError: could not convert string to float
输入字符串
x = eval(input("Enter a float number: ")) #eval input
如果您为eval cast NameError: name ' ' is not defined
输入一个字符串,这些错误也适用于Python2。
https://stackoverflow.com/questions/4960208
复制相似问题