关于Python 2.7 从键盘一行输入多个数时 EOF的报错

Python从键盘输入时使用input()方法,在一行中若需要接收多个内容(空格分开)的时候就需要用到map 函数。查了一下看到如下方法:

“输入一个数字 m = int(input())
输入两个数字是 m, n = map(int, input().split())

在IDLE中试了一下,出现如下报错:
Python 2.7 中 input 输入两个数报错
之后查了input()在Python 2 和Python 3 之间的区别,发现问题确实出在这里。

  1. Python 3 里面整合了Python 2中的 input()和 raw_input(),所以在Python 3 里面安上述也法是可以正确运行的.
  2. 但是在Python 2 中: raw_input( ) 将所有输入作为字符串看待,返回字符串类型。而input( ) 只能接收"数字"的输入,在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。

看到这里 我将原来写在 Python 2 中的 n, q = map(int, input (“please n and q:”).split()) 中的input()更改为 raw_input(),可正常运行。

总结:Python 2 中使用 raw_input() 可以解决从键盘一行输入多个数的EOF报错。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值