小编Sha*_*baz的帖子

Reportlab:reportlab中表列的动态颜色(存储在django模型中的颜色)

我有名为 TestResults 的 django 模型

模型.py

Class TestResults(models)

   chemical_name charfield
   value    floatfield
   unit  charfield
   method  charfield
   normal_limit charfield
   caution_limit charfield
   color charfield
Run Code Online (Sandbox Code Playgroud)

现在,

下面的代码将生成油表,其中包含以下字段。

视图.py

 fields = ('Test Name', 'Value', 'Unit', 'Method',
           'Normal Limit', 'Caution Limit')
 all_oils = [(test.chemical_name, test.value, test.unit, test.method,
                 test.normal_limit, test.caution_limit)
                 for test in TestResult.objects.all())]
oil_table = Table([fields] + all_oils
oil_table.setStyle(TableStyle([('BACKGROUND', (0, 0), (-1, 0), '#a7a5a5'),
                              ('FONTSIZE', (0, 0), (-1, 0), 6),
                              ('GRID', (0, 0), (-1, -1), 2, '#a7a5a5'),
                              ('FONTSIZE', (0, 0), (-1, -1), 8),
                              ('FONTNAME',(1,1),(1,-1),'Times-Bold')]))
Run Code Online (Sandbox Code Playgroud)

现在我怎样才能为每列提供动态颜色。假设我的 …

python reportlab

5
推荐指数
1
解决办法
5184
查看次数

号码分发

问题:我们有x个复选框,我们想要均匀地检查它们.

示例1:选择50个总共100个复选框.

[-]
[x]
[-]
[x]
...
Run Code Online (Sandbox Code Playgroud)

示例2:选择总共100个的33个复选框.

[-]
[-]
[x]
[-]
[-]
[x]
...
Run Code Online (Sandbox Code Playgroud)

示例3:选择总共100个的66个复选框:

[-]
[x]
[x]
[-]
[x]
[x]
...
Run Code Online (Sandbox Code Playgroud)

但是我们很难想出一个公式来检查代码,特别是一旦你进入11/111或类似的东西.有人有想法吗?

language-agnostic algorithm

5
推荐指数
1
解决办法
218
查看次数

C++从函数返回数组

我需要在数组中读取我的函数,提取数据,然后从函数返回一个数组.

该数组只能保存2个值.

这是我想要做的概念:

int myfunction(int my_array[1])
{
    int f_array[1];
    f_array[0] = my_array[0];
    f_array[1] = my_array[1];

    // modify f_array some more

    return f_array;
}
Run Code Online (Sandbox Code Playgroud)

我已经阅读了关于指针等的内容,但是我们非常感到困惑,并希望了解如何最好地解决这个问题的一个非常基本的例子!

谢谢!

c++ arrays return function

5
推荐指数
2
解决办法
2万
查看次数

graph - 如何避免在Depth First Search中重复处理相同的边缘两次?

算法设计手册介绍了BFS和DFS相当不错.在决定是否避免双重处理边缘时,书中dfs的代码存在问题.我找到了勘误表并将勘误表应用到代码中,但我仍然认为精炼代码存在检查双处理边缘的问题.

我粘贴精炼代码如下:

dfs(graph *g, int v) {
       edgenode *p;
       int y;
       if (finished) return;
       discovered[v] = TRUE;
       time = time + 1;
       entry_time[v] = time;
       process_vertex_early(v);
       p = g->edges[v];
       while (p != NULL) {
             /* temporary pointer */
             /* successor vertex */
             /* allow for search termination */
             y = p->y;
             if (discovered[y] == FALSE) {
                   parent[y] = v;
                   process_edge(v,y);
                   dfs(g,y);
             }
             else if (**(!processed[y] && parent[v] != y)** || (g->directed))
                   process_edge(v,y);
             if (finished) …
Run Code Online (Sandbox Code Playgroud)

algorithm graph depth-first-search data-structures

5
推荐指数
1
解决办法
841
查看次数

什么是"__cdecl"?

我想将AES算法与MPI一起使用.

我用visual c ++编写代码.当我编译代码时,我收到此错误:

函数_main中引用的未解析的外部符号"void __cdecl BTM(int,int)"(?BTM @@ YAXHH @ Z)

c++ visual-c++

5
推荐指数
1
解决办法
3916
查看次数

将模块移植到较新的Linux内核:无法分配内存

我有一个非常大的驱动程序模块,我正在尝试编译最近的Linux内核(3.4.4).我可以insmod使用2.6.27.25内核成功编译和使用相同的模块.GCC版本也不同,4.7.0对4.3.0.请注意,此模块非常复杂,我不能简单地浏览所有代码和所有makefile.

当"插入"模块时,我得到一个Cannot allocate memory带有以下痕迹:

vmap allocation for size 30248960 failed: use vmalloc=<size> to increase size.
vmalloc: allocation failure: 30243566 bytes
insmod: page allocation failure: order:0, mode:0xd2
Pid: 5840, comm: insmod Tainted: G           O 3.4.4-5.fc17.i686 #1
Call Trace:
 [<c092702a>] ? printk+0x2d/0x2f
 [<c04eff8d>] warn_alloc_failed+0xad/0xf0
 [<c05178d9>] __vmalloc_node_range+0x169/0x1d0
 [<c0517994>] __vmalloc_node+0x54/0x60
 [<c0490825>] ? sys_init_module+0x65/0x1d80
 [<c0517a60>] vmalloc+0x30/0x40
 [<c0490825>] ? sys_init_module+0x65/0x1d80
 [<c0490825>] sys_init_module+0x65/0x1d80
 [<c050cda6>] ? handle_mm_fault+0xf6/0x1d0
 [<c0932b30>] ? spurious_fault+0xae/0xae
 [<c0932ce7>] ? do_page_fault+0x1b7/0x450
 [<c093665f>] sysenter_do_call+0x12/0x28
-- clip --
Run Code Online (Sandbox Code Playgroud)

显而易见的答案似乎是模块分配了太多内存,但是:

  • 我对旧内核版本没有任何问题,这个模块的大小
  • 如果我修剪这个模块的某些部分以获得更低的内存消耗,我会得到与新内核相同的错误消息
  • 我可以卸载很多其他模块,但它没有任何影响(并且无论如何相关?Linux是否存在关于模块总内存使用量的全局限制)

因此,我怀疑新内核的问题与有限的内存没有直接关系.

新内核抱怨 …

c kernel insmod linux-kernel vmalloc

5
推荐指数
1
解决办法
3414
查看次数

测试具有非标准文件名的脚本的"框架"

以下是对一些问题(特别是对于shell)的许多评论,这些问题基本上表示以下一个或多个:

  • 对于包含空格,换行符等的文件名,这将失败,
  • 如果文件是符号链接(或不是),这将失败,
  • 如果$filaneme是目录而不是常规文件,这将失败,
  • 等等.

虽然我知道每个脚本都需要自己的测试环境,但这些是脚本应该免受攻击的常见问题.

因此,我的目的是编写一个脚本,它将创建一些带有"特制"文件名的目录层次结构,以便进行测试.

问题是:什么"特殊"文件名对这个测试有好处?

目前我有(脚本创建文件和目录):

  • 文件名中的空格
  • 文件名中的换行符
  • 以下列之一开头的文件名:
    • - (比如命令参数)
    • # (评论char)
    • ! (命令历史)
  • 文件名包含以下之一:
    • | 炭(管)
    • () 字符
    • *?(通配符)
  • 带有unicode字符的文件名
  • 所有上面的目录
  • 目录的符号链接
  • 文件的符号链接

还有什么我不应该错过的想法吗?

bash shell

5
推荐指数
0
解决办法
123
查看次数

从根的有效计算多项式系数

我有一个monic多项式的根,即

p(x) = (x-x_1)*...*(x-x_n)
Run Code Online (Sandbox Code Playgroud)

我需要系数a_n,...,a_0来自

p(x) = x^n + a_{n-1}x^{n-1} + ... + a_0.
Run Code Online (Sandbox Code Playgroud)

有人知道一种计算效率高的方法吗?如果有人知道C/C++实现,这实际上是最好的.(我已经看过GSL,但它没有提供功能.)

当然,我知道如何以数学方式.我知道,系数a_i是具有n-i元素的子集的所有乘积的总和.但是,如果我以愚蠢的方式做到这一点,这意味着迭代所有子集,我需要

sum^{n-1}_{k=1} ( k choose n) * (k-1)
Run Code Online (Sandbox Code Playgroud)

乘法和

sum^n_{k=0} ( k choose n) - n
Run Code Online (Sandbox Code Playgroud)

补充.因此,两个项都增长O(n!),这是一个太多的计算,无法将n根列表转换为n系数列表.我相信必须有一些聪明的方法来重用大多数中间结果,但我找不到一个.

c++ algorithm performance polynomial-math

5
推荐指数
1
解决办法
2056
查看次数

倒排索引搜索算法

考虑一下人们在谷歌中搜索了100亿个单词.对应于每个单词,您都有所有文档ID的排序列表.该列表如下所示:

[Word 1]->[doc_i1,doc_j1,.....]
[Word 2]->[doc_i2,doc_j2,.....]
...
...
...
[Word N]->[doc_in,doc_jn,.....]
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种算法来找到100个罕见的单词对.罕见的单词对是在一个文档中一起出现的一对单词(不一定是连续的).

如果可能的话,我正在寻找比O(n ^ 2)更好的东西.

sorting algorithm information-retrieval set inverted-index

5
推荐指数
1
解决办法
2123
查看次数

这是shell排序还是插入排序?

我刚刚开始学习排序算法,并在网上找到了一个.起初我认为这是一个shell排序,但它缺少"k"的明显间隔和数组的减半所以我不确定它是否是.我的第二个猜测是插入排序,但我只是在这里仔细检查:

for(n = 1; n < num; n++)
{
    key = A[n];
    k = n;
    while((k > 0) && (A[k-1] > key))
    {
        A[k] = A[k-1];
        k = k-1;    
    }
    A[k] = key;
}
Run Code Online (Sandbox Code Playgroud)

此外,如果你能解释为什么这也有帮助

c c++ sorting algorithm

4
推荐指数
1
解决办法
807
查看次数