欢迎访问宙启技术站
智能推送

在Python中如何使用stdin读取和处理标准输入流

发布时间:2023-12-26 02:52:44

在Python中,可以使用sys.stdin对象来读取和处理标准输入流。下面是一个可以读取多行输入并计算数字之和的例子:

import sys

def process_input():
    input_lines = sys.stdin.readlines()  # 读取多行输入
    numbers = [int(line) for line in input_lines]  # 将每行输入转换为整数
    total = sum(numbers)  # 计算数字之和
    
    print("Sum:", total)

if __name__ == "__main__":
    process_input()

在这个例子中,sys.stdin是一个类似于文件对象的可迭代对象,可以通过调用readlines()方法来一次性读取所有输入行,并将它们保存在一个列表中。

然后,我们使用列表推导式将每行输入转换为整数,并将这些整数保存在一个名为numbers的列表中。

最后,我们使用sum()函数来计算numbers列表中所有数字的和,并将其打印出来。

要执行这个程序,你可以在命令行中输入多行数字,然后按Ctrl + D(在UNIX系统上)或Ctrl + Z(在Windows系统上)来结束输入。程序将读取输入并计算数字之和。

以下是一个使用上述程序的示例输入和输出:

$ python program.py
1
2
3
4
5
Sum: 15

在这个例子中,我们按顺序输入了五个数字,并以一个空行作为结束标志。程序读取输入,并计算数字之和为15,并将其打印出来。

请注意,当使用sys.stdin读取标准输入流时,输入必须以某种方式结束,否则程序将一直等待输入。在UNIX系统上,可以使用Ctrl + D来结束输入,而在Windows系统上,可以使用Ctrl + Z来结束输入。

希望这个例子对你有所帮助!