python输入多行的方法总结
发布日期:2025-01-04 10:50 点击次数:188
一、概述
在Python里,我们有时候会做需要多行输出的程序。
例如:
1、点餐系统 不停地问:你要点什么食物?
2、文本编辑 不停地输入文字(仅限IDLE等Python自带编辑器 )
我们Python中有一种输入语句 : input
但是,它只能单行输入
所以呢,我们就要通过Python的其他语句来实现多行输入
二、代码部分
1、已知行数多行输出
我们现在在已知行数的情况下多行输入,就很好办。首先我们要获取行数:
之后就第一行、第二行、第三行……第n行这样输入就行了。我们可以用for循环解决。
最后的完整代码:
输出:
2、未知行数多行输出
当我们在输入多行文本的时候,因为我们不知道要输入多少行,所以如果再按已知行数多行输入的方法的话,有可能行数就会输少了。所以,未知行数多行输入的方法的重要性自然而然地也就出来了。
未知行数多行输入需要有一个终止标志,比如说输入“stop”就终止;输入“停”就终止;一换行就终止……这样才可以让程序知道:嗯,写完了。这次我们使用换行来表示终止。首先,我们需要一个提示语句,在input()语句中我们写在括号里,这次我们直接用print语句输出。
然后,因为我们要不停地让他输入,所以要用一个死循环。再不停执行input语句。注意,因为要不停输入内容,所以input语句中必须为空,如果填上输出语句,程序将不停输出提示语。而提示语因为只输出一遍就够了,所以我们在前面的代码需要提前用print语句输出出来。 之后再加个判断,如果输入的内容为空,则用break语句跳出循环。
最后的完整代码:
输出:
三、拓展
1、点餐系统
输出:
2、文本编辑
输出:
其他方法:
方法1:利用异常处理机制实现
实际运行时,可以输入多行,当输入最后一行并回车后,按组合键ctrl+D,表示EOF,即End of File、文件尾的意思。此时,input()函数会遇到EOF的异常。Python的异常处理机制将捕获到此异常,执行except部分的语句,此语句为break,因此,立即跳出while循环。这正好满足了我们的需要。
例如,输入:
在集成开发环境中运行时,请按ctrl+D组合键结束多行输入。如果在Windows命令行下用"python 源代码文件名.py”方式运行时,请按ctrl+Z组合键结束多行输入。
输出结果如下:
方法二:利用标准输入文件对象sys.stdin的readlines()函数实现
因为键盘是标准输入设备,计算机操作系统将键盘也是当做文件来对待的,其实计算机操作系统将包括键盘显示器鼠标打印机等在内的各种外围设备都当做文件来对待。Python中与键盘对应的文件对象是sys.stdin,因此可以利用sys.stdin.readlines()函数来实现读取多行文本,一直到遇到文件尾即EOF为止。
输入同上,
输出如下:
可以看出,这种方式2与方式1的输出结果有细微差别,每行末尾有'\n'字符(即回车符)。
以上就是python输入多行的方法总结的详细内容,更多关于python输入多行的资料请关注脚本之家其它相关文章!