在尝试将此任务上传到kattis时,我一直收到运行时错误:https://open.kattis.com/problems/qaly
我已经阅读了kattis上关于python的文档,并将输入更改为sys.stdin。以下是我要上传的内容:
QALY = 0
for i in range(1, int(sys.stdin[0])+1):
QALY += float(sys.stdin[i].split(" ")[0])*float(sys.stdin[i].split(" ")[1])
print(QALY)
当我使用下面的代码在pycharm中尝试它时,它工作了:
f=open("/Users/lottehurkens/PycharmProjects/kattis/1.in", "r")
r = f.readlines()
QALY = 0
for i in range(1, int(r[0])+1):
QALY += float(r[i].split(" ")[0])*float(r[i].split(" ")[1])
print(QALY)
发布于 2019-09-23 17:56:36
Kattis隐藏的错误如下:
Traceback (most recent call last):
File "main.py", line 5, in <module>
for i in range(1, int(sys.stdin[0])+1):
TypeError: '_io.TextIOWrapper' object is not subscriptable
不能在像sys.stdin
这样的_io.TextIOWrapper
对象上使用括号来检索输入的特定元素,因为它不实现__getitem__
。
您可以使用input()
检索一行输入,也可以使用sys.stdin.readlines()
将sys.stdin
转换为一系列行。
https://stackoverflow.com/questions/58061564
复制相似问题