开发人员通常想要用户在一行中输入多个值或者输入。在python中有两种方式让用户在一行中输入多个值或者输入。

1.split()

首先python中接受输入的函数input()总是会把用户的输入转为字符串。所以可以使用split()函数将输入分割为多个子串。

str.split(separator, maxsplit)

参数:
separator : 这是一个分割符,字符串按照这个指定的分割符分割,如果不指定,默认是任意的空白符(包括空格,制表符\t,换行符\n,回车符\r)

maxsplit : 这是一个数字,它告诉我们把这个字符串最多分割多少次。默认值是-1,表示没有限制,也就是会分的尽可能多。

返回值 : 返回的是一个字符串列表,内部元素是根据分割符分割出来的子字符串。

举例:
x, y = input("Enter two values: ").split()
print("Number of boys: ", x)
print("Number of girls: ", y)
print()

中间空格分开,按照空格分割
在这里插入图片描述

另一种方式是使用列表生成式

其实差不多,只不过这样可以做一个类型转换。

input("Enter two values: ").split()
#这同样是生成一个列表

列表生成式

x, y = [int(x) for x in input("Enter two values: ").split()]
print("First Number is: ", x)
print("Second Number is: ", y)
print()
>>> x, y = [int(x) for x in input("Enter two values: ").split()]
Enter two values: 34 466
>>> x
34
>>> y
466

生成的列表内再次遍历每一个元素,做一个类型转换,最后又是一个列表,所以基本上没有区别。

参考:Taking multiple inputs from user in Python

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐