如何在 Python 中从用户那里获取多个输入

2024 年 8 月 29 日 | 4 分钟阅读

这是初学者常见的难题。面试中可能会问到。有时,开发人员还需要在一行中获取多个输入。这在 C/C++ 中使用 scanf() 方法很容易实现。然而,Python 提供了两种方法,可以帮助我们在一行中获取多个值或输入。

  • 使用 split() 方法
  • 使用列表推导式

在本教程中,我们将学习如何使用各种方法在一行中获取多个输入。

使用 split() 方法

split() 方法对于获取用户输入的多个值非常有用。语法如下。

语法 -

参数 -

  • 分隔符参数根据指定的分隔符来分割输入。默认情况下,空格是指定的分隔符。

split() 方法用于分割 Python 字符串,但我们可以使用它来获取多个值。

让我们理解下面的例子。

示例 -

输出

Enter three values: David Warner MCA
Enter Your First Name:  David
Enter Your Last Name:  Warner
Enter Your Class:  Warner

Enter three values: 100 67 33
Total number of students:  100
Number of passed students :  67
Number of failed students :  33

Enter four values: 1 2 3 4
First number is 1, second number is 2 third is 3 and fourth is 4
Enter multiple values: 4 6 7 2 4
List of students:  [4, 6, 7, 2, 4]

解释 -

在上面的代码中,我们在单行中获取了多个输入。值由空格分隔,您也可以使用逗号 (,) 或其他任何字符。

使用列表推导式

我们还可以使用 map() 方法与 split() 方法一起获取值并将其转换为列表。让我们通过以下示例来理解。

示例 -2

输出

Enter multiple values: 4 6 7 2 4
List of values:  [4, 6, 7, 2, 4]

解释 -

在上面的代码中,我们将空格用作分隔符,并在一行中获取了输入,然后将其类型转换为列表。

从用户处获取矩阵输入

矩阵是二维数组,或者我们可以说是由数据或数字组成的矩形排列。矩阵可以接受任何值,如整数值、浮点值、字符串、复数等。水平放置的值称为“行”,垂直放置的值称为“列”。如果矩阵包含 r 行和 c 列,则矩阵的阶数为 r x c

示例 -

输出

Enter the number of rows:3
Enter the number of columns:3
Enter the entries row-wise:
1
2
3
4
5
6
7
8
9
1 2 3 
4 5 6
7 8 9

上述内容可以如下在一行中实现:

示例 -

输出

Enter the number of rows:3
Enter the number of columns:3
1
2
3
4
5
6
7
8
9
1 2 3 
4 5 6
7 8 9

使用 map() 函数和 numpy 库

有一个流行的库称为 Numpy,可用于任何科学计算。它为多维数组提供了广泛的支持。我们将使用这个库来输入矩阵。让我们通过以下示例来理解。

示例 -

输出

Enter the number of rows:2
Enter the number of columns:2
Enter the entries in a single line separated by space: 1 2 3 1 
[[1 2]
 [3 1]]

结论

在本教程中,我们展示了从用户那里获取多个值的不同方法。这可以节省代码行数,并且相当易于使用。我们还将其描述为矩阵,我们可以在其中创建用户定义的矩阵。


下一主题Python zlib 库