首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么这段Python代码在我尝试将其上传到kattis时会出现运行时错误?

为什么这段Python代码在我尝试将其上传到kattis时会出现运行时错误?
EN

Stack Overflow用户
提问于 2019-09-23 11:34:02
回答 1查看 269关注 0票数 0

在尝试将此任务上传到kattis时,我一直收到运行时错误:https://open.kattis.com/problems/qaly

我已经阅读了kattis上关于python的文档,并将输入更改为sys.stdin。以下是我要上传的内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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中尝试它时,它工作了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2019-09-23 17:56:36

Kattis隐藏的错误如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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转换为一系列行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58061564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文