【发布时间】:2015-09-18 18:44:49
【问题描述】:
我是竞争性编程的初学者并开始学习。熟悉C和C++,但学的是Python。Python输入有困难 问题就像:对于给定数量的测试用例,对于 ech 测试用例,您将在同一行中提供一个数字 N 和另一个数字 K。在这一行之后,一行会有 N 个整数。你只需要像下面给出的那样划分和总结(括号只是为了跟踪)
1 #test cases
3 2 #N #K
4 5 7 #N integers
答案是 sum : 7,即 4/2 + 5/2 + 7/2 = 7(整数除法)
我编写了一个简单的 Python 2.7 程序来接受输入并执行操作。
t = map(int,raw_input())
t = t[0]
while t>=0:
count=0
n,k = map(int,raw_input().split())
candies = map(int,raw_input().split())
for candy in candies:
count += candy/k
t -= 1
我收到错误:
vivek@Pavilion-dv6:~/Desktop$ python kids_love_candies.py <in.txt >out.txt
Traceback (most recent call last):
File "kids_love_candies.py", line 6, in <module>
n,k = map(int,raw_input().split())
EOFError: EOF when reading a line
另一个link 建议使用sys.stdin.readline() 读取输入,但我不知道如何将其应用于我的问题。
我应该使用哪一个?为什么?学习和使用它们的正确方法是什么?
【问题讨论】:
-
我已经执行了你在 python 2.7.9 中发布的脚本,删除括号后,一切正常,打印计数显示 7。你检查过这个文件的行尾吗?这是linux还是windows文件?
-
我使用的是 ubuntu,文件是使用 sublime 文本和文本文件创建的。 @CristianoAraujo
-
在线编译器的链接,相同的程序和不同的输入引发相同的错误。 @CristianoAraujo ideone.com/iWY71C
-
@CristianoAraujo 搞错了。 t>=0 应该是 t>0
标签: python python-2.7 stdin raw-input