当我尝试将其上传到kattis上时,为什么此Python代码会给出运行时错误?

时间:2019-09-23 11:34:02

标签: python python-3.x python-2.7 kattis

尝试将此作业上传到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)

1 个答案:

答案 0 :(得分:2)

卡蒂斯(Kattis)隐藏的错误如下:

TypeError                                 Traceback (most recent call last)
  <ipython-input-64-12e4fc526e4c> in <module>
        b = y_test.tolist()
  train_fpr, train_tpr, tr_thresholds = roc_auc_score(a,y_train_pred)
  test_fpr, test_tpr, te_thresholds = roc_auc_score(b,y_test_pred)
  TypeError: 'numpy.float64' object is not iterable

您不能在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 之类的_io.TextIOWrapper对象上使用方括号来检索输入的特定元素,因为它没有实现sys.stdin

您可以使用__getitem__检索输入的一行,也可以使用input()sys.stdin转换为行列表。