gpt4 book ai didi

python - 代码不适用于黑客等级!适用于 Repl 和 Jupyter

转载 作者:行者123 更新时间:2023-12-01 08:03:18 24 4
gpt4 key购买 nike

我正在 Hackerrank 上进行测试。我的代码似乎从来没有运行过,甚至没有一个测试用例通过。

我尝试过使用 Jupyter 并回复说它在他们身上运行得很好

def findNumber(arr, k):
ls = []
for x in arr:
if k == x:
ls.append(x)
elif k != x:
continue
if len(ls) > 0:
print("YES")
else:
print("NO")
  File "solution.py", line 42, in <module>
fptr.write(res + '\n')
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

它说标准输出:标准输出没有响应

第 20 行之后我什至没有写任何东西。这是他们自己的内置函数。我无法删除。

f __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')

arr_count = int(input().strip())

arr = []

for _ in range(arr_count):
arr_item = int(input().strip())
arr.append(arr_item)

k = int(input().strip())

res = findNumber(arr, k)

fptr.write(res + '\n')

fptr.close()

最佳答案

看看他们的代码如何运行您的函数:

res = findNumber(arr, k)

fptr.write(res + '\n')

fptr.close()

它期望函数 findNumber 返回的字符串值添加到 \n,但是默认情况下函数返回 None 并且您是不指定任何返回值。因此,它尝试在 fptr.write() 内执行 None + '\n' 并出错。

Ken Y-N建议,您应该返回字符串而不是自己打印它们。

if len(ls) > 0:
return "YES"
else:
return "NO"

关于python - 代码不适用于黑客等级!适用于 Repl 和 Jupyter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55643997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com