作者gary771016 (一日测 终身测)
看板Python
标题[问题] 如何避免输入资料时只按下enter造成错误?
时间Sat Sep 24 17:27:05 2016
大家好
这是在练习写程式的网站遇到的
http://www.spoj.com/problems/HS12MBR/
演算法有写好了 主要是input 那边有问题
Input:
3
1
p 3 3
2
c 10 10 20
c 20 20 10
1
l 0 0 100 20
---------------
看到p,c,l的下面那行 那不是故意空白分隔 也不是输入空白字元 是会故意多按一次enter
个人想说那就给它输入到别的变数不做处理 随意设一个变数 o=input()
但好像就是不能什麽都不输入 就按下enter
出现错误:(在自己电脑上Python shell没这问题)
EOFError: EOF when reading a line
下方讨论有提到:
"0 (limit: 2)" means that your program is time-outed at the second input.
If you read meaningless line, you can solve this error.
懂原文意思 但不懂如何解决...
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.45.107.72
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1474709231.A.F87.html
※ 编辑: gary771016 (114.45.107.72), 09/24/2016 17:28:28
1F:推 Typebrook: 一般EOF在Windows或Linux是Ctrl+Z或Ctrl+D,你若在不同 09/24 21:27
2F:→ Typebrook: 机器有不同结果的话,又不想深入了解的话 09/24 21:29
3F:→ Typebrook: try/except clause可以马上解决你的问题 09/24 21:30
4F:推 Yshuan: 解题练习本来就是while(1)在读不是吗? 关键字後再继续爬 09/25 00:21
5F:→ Yshuan: 碰到有些主办很烂的时候 可能可以先read全部自己做strip 09/25 00:21
後来用C++ 能解决只按换行键的问题 (然而它还是同样错误 只能说这题目真的太烂...)
使用 cin.getline(字元阵列) 它不读换行键的(按了等於没有)
要用Python 解决只按换行键 还没试过try/except (google 也有这样的答案 只是这语法还没学到)
算是放弃这题 这网站难度不一 input也没写好...example也没解释清楚 囧
※ 编辑: gary771016 (114.45.107.72), 09/25/2016 02:08:29
※ 编辑: gary771016 (114.45.107.72), 09/25/2016 02:09:09
6F:推 Typebrook: 这个语法没这麽难,试着做了一下,这是拿到10分的答案: 09/25 10:48
8F:→ Typebrook: 36 37行简单就可以搞定了 09/25 10:49
9F:→ gary771016: 收到了 原来可以写的这麽精简 上了一课 谢谢 09/25 15:59