Python 2.7 获取用户输入并作为字符串进行操作而不使用引号

2024-04-25 14:38:40 发布

您现在位置:Python中文网/ 问答频道 /正文

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

testVar = input("Ask user for something.")

有没有办法让testVar成为一个字符串,而不让用户用引号输入他的响应?i、 e.“你好”与“你好”

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

名称错误:未定义名称“Hello”


Tags: 字符串用户名称helloforinput错误something
2条回答

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

一般方法是将用户输入(来自sys.stdin)视为任何其他文件。试试看

import sys
sys.stdin.readline()

如果您想保持简短,可以使用与input相同的raw_input,但省略计算。

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

在Python 2中,我们使用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

如果为float cast输入字符串ValueError: could not convert string to float

x = eval(input("Enter a float number: ")) #eval input

如果为eval cast输入字符串NameError: name ' ' is not defined 这些错误也适用于Python 2。

相关问题 更多 >