python 接受用户输入 sys.stdin.readline()以及input

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

单个输入

程序如下:

输出如下


多个输入

输出

 

  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值