我想建立一种自动系统来更新一些比赛结果以获得冠军.我有一个自动电子表格,所有结果都显示但是我需要花费很多时间来更新所有结果,所以我想知道是否可以制作表格以便更容易地更新它们.
在表格中,我将输入他在比赛中赢得的车手名称和数量.冠军每个月有4场比赛所以是的,我的问题是你们是否知道使用表格更新现有数据(存储在电子表格中)的方法.让我们说在第一场比赛中,车手'X'赢得了10分.我将在表单中插入此数据,然后从电子表格中调用它以显示它,这是正确的.当我想要更新第二场比赛结果等问题时.如果驾驶员'X'在第二场比赛中获得12分,是否有办法更新该驾驶员之前的10分并改为22分?或者我可以自动将第二场比赛结果添加到第一场比赛中吗?我的意思是,如果我在表单上插入第二个比赛结果,它可以查找驱动程序'X'条目并将此点添加到它以前的那些点.Dunno,如果有可能的话.
也许我可以用另一种方式做到这一点.任何帮助都感激不尽!谢谢.
对于 python 来说相当陌生,并且正在努力实现变量的值副本。有一种算法可以递归调用另一个算法,但无法获得所需的值,因为我认为在以下代码中将一个变量分配给另一个变量时,我改为使用引用:
def search(problem, strategy, depthl, depthi, pruning):
depthact = depthi
sol = None
while(not sol and depthact <= depthl):
sol = limSearch(problem, strategy, depthact, pruning)
depthact += depthi
return sol
Run Code Online (Sandbox Code Playgroud)
我希望在深度行为中具有与深度相同的值,但我认为我指向相同的内存位置,因此在调用limSearch时,我使用传递给深度方法的任何值来执行此操作,而不是我使用的另一个值想要使用,因为我然后增加了它。
我对吗?任何帮助都感激不尽。
编辑:我知道 limSearch 算法的解决方案是深度 = 35,但希望其他算法检查是否存在给定深度增量的解决方案,因此,如果我使用深度l = 40 和深度 2 调用搜索,它应该运行 limSearch 首先传入深度值 2,然后是 4、6、8、10.. 直到达到 36,然后它应该找到解决方案,因为它在 35 中,但它不起作用,而是我得到一个 sol=在所有情况下都没有,就像我用其他值调用 limSearch 一样。
def search(问题, 策略, 40, 2, 剪枝):
我希望像这样的调用处于调用 limSearch 的循环中,直到它达到该算法中的解决方案(在本例中深度= 35)。所以我的预期结果是:
sol = limSearch(问题, 策略, 2, 剪枝)
sol …
这个python模块是计算有序插入数据结构还是插入然后排序?自从开发了一种我必须牢记内存问题的算法以来,我一直在 python 中苦苦挣扎,因此需要一种方法将其插入到正确位置的列表中,因为它应该在 java 中使用链表完成,但不是确定使用什么以及如何使用。
任何帮助都感激不尽。
试图在python3中找到最优化的数据结构以解决一个更严重的问题,我不得不开发,这才刚刚意识到,使用模块二等分进行实时有序插入的复杂性不是O(nlog n),而是应该成倍增长。代替。不知道它的原因,所以感觉就像问你们,以防万一,因为我发现它真的很有趣。
想想我使用模块正确,所以这对我来说应该不是问题,无论如何,这里是用于插入节点对象的代码,用于确定随机f值节点的插入。
bisect.insort(self._frontier, (node._f, node))
Run Code Online (Sandbox Code Playgroud)
在几秒钟之内得到很多物体,但是随着时间的流逝就没有那么多。Bakuriu建议我问这个问题,因为他在进行了一些测试并得出与我相同的结果后也发现它很有趣。他用来测试的代码如下:
python3 -m timeit -s 'import bisect as B; import random as R;seq=[]' 'for _ in range(100000):B.insort(seq, R.randint(0, 1000000))'
Run Code Online (Sandbox Code Playgroud)
这些是他的结论:
10k插入都很好(到80ms为止,它基本上是线性扩展的(请记住,它是O(nlog n),所以比线性还差一点)),但是100k插入将永远花费而不是10倍以上。100k元素的列表实际上并不大,log(100k)为16,所以它并不大。
任何帮助都感激不尽!