Python中实现一行多个输入

emmmm~之前也没注意过,今天遇到题目然后一直报异常,就去找了一下原因,共勉!!!

 

Python 2里面读取输入的函数是raw_input()

Python 3的是input(),读入一个值后回车读取输入就退出了,想要一次读取多个输入,可以像下面这样: 

Python2:

a, b = raw_input().split() 

Python3:

a, b = raw_input().split() 

 

 

通过上述观察,输出的是字符串,要想读取的是数值,可以稍微改一下,像这样: 

 

Python2:

a, b = map(int, raw_input().split())

 

Python3:

a, b = map(int, input().split())

 

int可以换成其它需要的类型,左边可以是任意多个变量

还可以把读取的值存到一个列表里: 

Python2:

input_list = map(int, raw_input().split())

Python3: 

按照上述那样输出,结果如下:

这个结果很奇怪吧,

python3中调用map函数报错<map object at 0x000001EF004D97B8>

这是英文python3中map()返回iterators类型,并非list类型,因此只需将它转换为list类型即可。

 input_list =list( map(int,input().split()))

 

这样就OK啦~

 

想要读取多行可以这样: 

import sys
lines = sys.stdin.read().splitlines()

读取多行也可以用readlines(),不过读取后返回的列表lines每一项后面带有\n,用read()读取再调用splitlines可以去掉后面的换行符

 

总之,Python2输入用raw_input(),Python3输入用input()哦!!!

 

今天就到这里啦,ByeBye~~~

 

发布了18 篇原创文章 · 获赞 5 · 访问量 454
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览