python中我们经常需要接受用户的输入
那么接受用户输入的程序应该如何设计呢?
常用的有sys.stdin.readline()和input两种方法
sys.stdin.readline()
单个输入
先看一个最简单的例子,接收单个输入
输出是这样的,说明sys.stdin.readline()的输出是str类型的
如果我们要将输入转换为int类型,可以这么写
输出结果是这样的
多个输入
如果是在多行中实现多次输入,可以使用while实现
当这个程序运行时,我们是不能退出的,除非在死循环下,按下ctrl+C强行给出异常
为什么ctrl+C可以退出当前的程序,请参考这篇文章:
https://blog.csdn.net/qq_24118527/article/details/89225629
也可以在n int(sys.stdin.readline())的后面加上:
if not line :
break
如果是在一行中进行多个输入,直接写就行
输出结果如下
此时的n其实是:
12 34 56 78\n
如果说我们需要去掉结尾的\n,我们可以这样写:
(注意:strip只能用于移除字符串头尾指定的字符序列)
输出结果如下:
那如果我们需要把输入放入一个list中呢?
这是我们编程中很常用的,第一感觉我们可以这样写
map是根据提供的函数对指定序列做映射
map函数的第一个参数是function,相当于方法,后面的参数是序列
map做的事就是把第二个参数作为第一个参数function的参数传入给function
什么意思呢?就是说如果function需要2个参数,那么map就需要3个参数
map的后两个参数给function作为参数
如果function需要3各参数,那么map就需要4个参数
map的后3个参数传给function作为参数
这里int函数表示将参数转换为int,所以只需要一个参数就行了,也就是n
但是以上程序运行时会报错,错误原因显然是n不符合map函数的要求
直接这样用肯定是不行的,我们需要借助split方法
运行结果如下:
input
单个输入
程序如下:
输出如下
多个输入
输出