Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python HackerRank动态数组问题-代码中存在运行时错误_Python_Data Structures_Dynamic Arrays - Fatal编程技术网

Python HackerRank动态数组问题-代码中存在运行时错误

Python HackerRank动态数组问题-代码中存在运行时错误,python,data-structures,dynamic-arrays,Python,Data Structures,Dynamic Arrays,我想在HackerRank上解决这个问题。这是我的代码: !/垃圾桶/蟒蛇3 输入数学 导入操作系统 随机输入 进口稀土 导入系统 完成下面的“DynamicCarray”功能。 该函数应返回一个整数数组。 该函数接受以下参数: 1.整数n 2.二维整数数组查询 def dynamicArrayn,查询: lastAnswer=0 a=[] 数组_结果=[] 对于兰根的k: a、 附加[] 对于查询中的i: x=i[1] y=i[2] 如果i[0]==1: seq=x^最后一个答案%n a[顺序

我想在HackerRank上解决这个问题。这是我的代码:

!/垃圾桶/蟒蛇3 输入数学 导入操作系统 随机输入 进口稀土 导入系统 完成下面的“DynamicCarray”功能。 该函数应返回一个整数数组。 该函数接受以下参数: 1.整数n 2.二维整数数组查询 def dynamicArrayn,查询: lastAnswer=0 a=[] 数组_结果=[] 对于兰根的k: a、 附加[] 对于查询中的i: x=i[1] y=i[2] 如果i[0]==1: seq=x^最后一个答案%n a[顺序].附录 elif i[0]==2: seq=x^最后一个答案%n lastAnswer=a[顺序][y] 数组\u result.appendlastAnswer 返回数组结果 如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu': fptr=openos.environ['OUTPUT_PATH'],'w' 第一个\u多个\u输入=input.rstrip.split n=第一个\u多个\u输入[0] q=intfirst\u多输入[1] 查询=[]1 0 5,1 1 7,1 0 3。。。 对于范围内的uq: querys.appendlistmapint,input.rstrip.split 结果=dynamicArrayn,查询 fptr.write'\n'.joinmapstr,结果 fptr.write'\n' 关闭 我收到一个运行时错误:

回溯最近一次呼叫上次:

文件Solution.py,第50行,in

fptr.write'\n'.joinmapstr,结果

TypeError:“非类型”对象不可编辑

有人能帮我吗?我似乎找不到解决办法

这是输入:

2.5

105

117

103

2110

2 1 1

谢谢

更新:多亏了@cireo,这个输入现在似乎可以工作了,但是代码不适用于其他测试用例。这个代码有什么问题


你的问题的答案在hackerrank提供的样板中

该函数应返回一个整数数组

您还可以看到result=dynamicArrayn,查询将从引发异常的mapstr result返回一个整数列表

在您的代码中,您可以打印LastAnswer,但您可能需要

+ ret = []
    ...
-     print(lastAnswer)
+     ret.append(lastAnswer)
+ return ret
相反


由于您不返回任何内容,因此该函数在默认情况下不返回任何内容,这无法通过map进行迭代。

您的问题的答案在hackerrank提供的样板文件中

该函数应返回一个整数数组

您还可以看到result=dynamicArrayn,查询将从引发异常的mapstr result返回一个整数列表

在您的代码中,您可以打印LastAnswer,但您可能需要

+ ret = []
    ...
-     print(lastAnswer)
+     ret.append(lastAnswer)
+ return ret
相反

由于您不返回任何内容,因此该函数在默认情况下不返回任何内容,这无法通过映射进行迭代。

您可以尝试此操作,它工作完全正常。无运行时错误 用此代码替换DynamicCarray函数。希望这会对你有所帮助

def dynamicArrayn,查询:

col = [[] for i in range(n)]
res = []
lastanswer = 0
for q in queries:
    data = (q[1]^lastanswer)%n
    if q[0] == 1:
        col[data].append(q[2])
    elif q[0] == 2:
        ind_x = q[2]%len(col[data])
        lastanswer = col[data][ind_x]
        res.append(lastanswer)
return res 
你可以试试这个,它工作得很好。没有运行时错误 用此代码替换DynamicCarray函数。希望这会对你有所帮助

def dynamicArrayn,查询:

col = [[] for i in range(n)]
res = []
lastanswer = 0
for q in queries:
    data = (q[1]^lastanswer)%n
    if q[0] == 1:
        col[data].append(q[2])
    elif q[0] == 2:
        ind_x = q[2]%len(col[data])
        lastanswer = col[data][ind_x]
        res.append(lastanswer)
return res 

它看起来像mapstr的结果,结果是一个非类型,它不是join@Dodge谢谢我可以知道如何输出lastAnswer的值,因为单独返回该值是不起作用的。如下文所述,通常的过程不是以链接方式编辑问题,因为这会使旧答案不再有意义=。如果你在玩了这个问题之后仍然被卡住了,那么也可以查看hackerrank论坛,然后尝试找出最小的可重复性问题并问另一个问题。它看起来像mapstr的结果,结果是一个非类型,这并不是join@Dodge谢谢我可以知道如何输出lastAnswer的值,因为单独返回该值是不起作用的。如下文所述,通常的过程不是以链接方式编辑问题,因为这会使旧答案不再有意义=。如果你在玩了这个问题之后仍然被卡住了,那么也可以查看hackerrank论坛,然后尝试找出最小的可重复问题并问另一个问题。谢谢!!!哇,粗心的错误!!我更正了代码,但似乎这不适用于其他测试用例。是的,如果你在修补后仍停留在实际问题上,你可能需要另一个SO问题=谢谢!!!哇,粗心的错误!!我修改了代码,但似乎这对其他测试用例不起作用。是的,如果你在修改后仍停留在实际问题上,你可能需要另一个SO问题=