Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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
String 如何使用input()和.split()确定如何将字符串分配给特定变量_String_Python 2.7_Split - Fatal编程技术网

String 如何使用input()和.split()确定如何将字符串分配给特定变量

String 如何使用input()和.split()确定如何将字符串分配给特定变量,string,python-2.7,split,String,Python 2.7,Split,因此,我编写了以下代码: title, name = input("Please provide your title and name: ").split() 如果我输入说,mrfabulary,那么mr和fabulary将相应地分配给title和name,但是,如果我只写fabulary,并希望它被分配给name,而不是title,会怎么样 我处理这件事的方式不对吗?只有一个input()命令,还有其他方法可以做到这一点吗?提前谢谢 我相信这会引发异常。我还认为您还需要raw_input而

因此,我编写了以下代码:

title, name = input("Please provide your title and name: ").split()
如果我输入说,
mrfabulary
,那么
mr
fabulary
将相应地分配给
title
name
,但是,如果我只写
fabulary
,并希望它被分配给
name
,而不是
title
,会怎么样


我处理这件事的方式不对吗?只有一个
input()
命令,还有其他方法可以做到这一点吗?提前谢谢

我相信这会引发异常。我还认为您还需要
raw_input
而不是
input
,因为后者将尝试将您的输入作为python命令处理,而前者将其作为字符串处理

>>>title, name = raw_input("Please provide your title and name: ").split()
Please provide your title and name: fabulous
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: need more than 1 value to unpack
样本输出:

Please provide your title and name: mr fabulous
mr fabulous

Please provide your title and name: fabulous
 fabulous

啊,我明白了,那么有没有其他方法可以解决这个问题,如果输入中有空格,第一个单词会转到“title”,第二个单词会转到“name”,否则,如果只有一个单词,就会转到“name”?编辑:哦,非常感谢!我认为这样做会很好:)是的,刚刚看到了,这正是我所需要的,再次非常感谢:)@jaceaewelf没问题,很乐意帮忙。我希望它能够清楚地说明如何以类似的方式显式检查用户输入,但通常只是尝试和看到错误就可以提供最好的教训。
Please provide your title and name: mr fabulous
mr fabulous

Please provide your title and name: fabulous
 fabulous