Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何通过input()输入多个字符串_Python_User Input_Raw Input - Fatal编程技术网

Python 如何通过input()输入多个字符串

Python 如何通过input()输入多个字符串,python,user-input,raw-input,Python,User Input,Raw Input,在python中使用原始输入时,用户必须输入一个输入,然后按enter键。 是否有一种方法可以让我编写代码,代码将同时提示多个用户输入,然后按enter键运行代码 例如: 而不是 >>> Name: <prompt> <enter> >>> Age: <prompt> <enter> >>> Gender: <prompt> <enter> >>名称: >>>年龄: >

在python中使用原始输入时,用户必须输入一个输入,然后按enter键。 是否有一种方法可以让我编写代码,代码将同时提示多个用户输入,然后按enter键运行代码

例如: 而不是

>>> Name: <prompt> <enter>
>>> Age: <prompt> <enter>
>>> Gender: <prompt> <enter>
>>名称:
>>>年龄:
>>>性别:
它会有

>>>
Name: <prompt>
Age: <prompt>
Gender: <prompt>
<enter>
>
姓名:
年龄:
性别:

一种方法是这样做:

x=raw_input("Enter values: ")
a=x.split(' ')
a,b,c=raw_input("Enter values: ").split(' ')
现在在
a
中有了单独的值

演示:

>>> x=raw_input("Enter values: ")
Enter values: 12 65 hello
>>> a=x.split(' ')
>>> a
['12', '65', 'hello']
然后你可以做
age=a[0]
等等

您可以像这样直接使用拆分:

x=raw_input("Enter values: ")
a=x.split(' ')
a,b,c=raw_input("Enter values: ").split(' ')
一个缺点是,如果用户没有给出三个值,您将得到一个错误。如果之后进行拆分,则可以首先对输入执行控制

注:

如果要在数据中使用空格,此方法可能会导致问题,因为空格用作分隔符。切换到
split()
中的另一个标记,以便在需要时允许使用空格。

否,只允许提供一个字符串输入

你能做的是:

name, age, gender = input('Enter Name|Age|Gender:').split('|')

# user inputs "ABC|30|M"

print(name, age, gender)
# ABC 30 M
现在,您只需依赖于用户名称中没有
|
字符


当然,您也可以单独提问。

如果
姓名
始终是字母,
年龄
始终是数字,
性别
始终是字母,并且它们是按顺序排列的,那么应该可以这样做:

info=input("what is your name, age and gender?")
name=""
age=""
gender=""
var="n"
for i in info:
    if var=="n":
        try:
            int(i)
            var="a"
        except:
            name+=i
    if var=="a":
        try:
            int(i)
            age+=i
        except:
            var="g"
    if var=="g":
        gender+=i
print(name, age, gender)

这意味着您不必担心用户输入分隔符

如果正在运行具有多个参数或选项的脚本,则可能需要完全改变接收数据的方式。该包适用于使用命令行标志向脚本传递选项。您还可以利用或模块之类的功能从文件中摄取这些参数。
input
意味着非常简单和最小。如果您想要更高级的用户交互,有许多方法可以创建用户界面,具体取决于您的目标环境。“你想要一个文本终端应用程序,一个图形用户界面还是一个Web应用程序?”PedroSerrano,如果下面的解决方案中的一个帮助,考虑接受它(左边的绿色刻度)。