在python中读取多个输入

2024-09-21 07:38:31 发布

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

在python中,如何获取3个由空格分隔的输入,相当于C中的scanf("%d%d%d",&a,&b,&n);


Tags: 空格scanf
3条回答

使用raw_input()从键盘获取值。在

  1. 要求用户通过raw_input()从键盘输入值
  2. 拆分用户按空格输入值。在
  3. 使用类型转换将字符串转换为整数。在

演示:

>>> a = raw_input("Enter three number separated by space:")
Enter three number separated by space:1 3 2
>>> print a
1 3 2
>>> print type(a)
<type 'str'>
>>> a1 = a.split()
>>> a1
['1', '3', '2']
>>> int(a1[0])
1
>>> 

异常处理:

在类型转换期间处理异常的最佳实践,因为用户也可能输入alpha值。在

演示:

^{pr2}$

注意: 使用input()表示Python 3.x,使用{}表示{}

a, b, n = map(int, input('enter three values: ').split())

示例

^{pr2}$

这个解决方案适用于python2.x中的python3.x,将input替换为raw_input。在

正如在documentation中所写的那样,您可以使用正则表达式来解析scanf中的字符串。在

input_string = raw_input()
import re
m = re.search("([-+]?\d+) ([-+]?\d+) ([-+]?\d+)", input_string)
if m is None:
   raise ValueError("input not valid %s" % input_string)
input_numbers = map(int, input_string_splitted)

相关问题 更多 >

    热门问题