首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python 2.7获取用户输入并将其作为不带引号的字符串进行操作

Python 2.7获取用户输入并将其作为不带引号的字符串进行操作
EN

Stack Overflow用户
提问于 2011-02-11 01:00:35
回答 8查看 555.2K关注 0票数 148

我想从用户那里获取一个字符串,然后对其进行操作。

代码语言:javascript
复制
testVar = input("Ask user for something.")

有没有办法让testVar成为一个字符串,而不是让用户在引号中输入响应?即" Hello“vs. Hello

如果用户输入Hello,我会得到以下错误:

NameError:未定义名称“Hello”

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-02-11 01:01:34

使用raw_input()而不是input()

代码语言:javascript
复制
testVar = raw_input("Ask user for something.")

input()实际上将输入计算为Python代码。我建议永远不要使用它。raw_input()返回用户输入的逐字字符串。

票数 265
EN

Stack Overflow用户

发布于 2011-02-11 01:02:01

函数input还将计算它作为python代码读取的数据,这并不是您真正想要的。

一般的方法是像对待任何其他文件一样对待用户输入(来自sys.stdin)。试一试

代码语言:javascript
复制
import sys
sys.stdin.readline()

如果想保持简短,可以使用与input相同但省略求值的raw_input

票数 13
EN

Stack Overflow用户

发布于 2017-08-30 19:51:28

我们可以在Python2中使用raw_input()函数,在Python3中使用input()函数。默认情况下,input函数接受字符串格式的输入。对于其他数据类型,您必须强制转换用户输入。

在Python2中,我们使用raw_input()函数。它等待用户键入一些输入并按下return,我们需要通过强制转换为我们想要的数据类型来将值存储在一个变量中。使用类型转换时要小心

代码语言:javascript
复制
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()函数,它返回一个用户输入值。

代码语言:javascript
复制
x = input("Enter a number: ") #String input

如果你输入一个字符串,int,float,eval,它将被当作字符串输入

代码语言:javascript
复制
x = int(input("Enter a number: ")) #integer input

如果您为int cast ValueError: invalid literal for int() with base 10:输入字符串

代码语言:javascript
复制
x = float(input("Enter a float number: ")) #float input

如果为浮点型转换ValueError: could not convert string to float输入字符串

代码语言:javascript
复制
x = eval(input("Enter a float number: ")) #eval input

如果您为eval cast NameError: name ' ' is not defined输入一个字符串,这些错误也适用于Python2。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4960208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档