小编ali*_*oar的帖子

在python中嵌入R代码

我需要在python程序中进行计算,我宁愿在R中创建一些.是否可以在python中嵌入R代码?

python r

11
推荐指数
2
解决办法
8633
查看次数

C预处理器插入的空格

假设我们给出了这个输入C代码:

#define Y 20
#define A(x) (10+x+Y)

A(A(40))
Run Code Online (Sandbox Code Playgroud)

gcc -E这样的输出(10+(10+40 +20)+20).

gcc -E -traditional-cpp这样的输出(10+(10+40+20)+20).

为什么默认的cpp会在之后插入空格40

我在哪里可以找到涵盖该逻辑的最详细的cpp规范?

c c-preprocessor

11
推荐指数
1
解决办法
1369
查看次数

使用NetworkX将簇中的顶点分组

我试图以图形方式表示一些图,我需要在集群中分组一些具有共同特征的节点.

我正在使用NetworkX,我需要在本教程的图表中做一些类似的事情,从图44中的幻灯片44开始.

我想在每个集群周围绘制一些分界线.我目前的代码是这样的:

    vec = self.colors
    colors = (linspace(0,1, len (set (vec)))* 20 + 10)
    nx.draw_circular(g, node_color=array([colors[x] for x in vec]))
    show ()
Run Code Online (Sandbox Code Playgroud)

我希望找到一个示例,看看如何使用networkx对图表进行聚类.

python matplotlib networkx

8
推荐指数
1
解决办法
5465
查看次数

在C中以字符串形式读取文本文件的特定部分?

我正在编写读取包含DNA碱基的巨大文本文件的代码,我需要能够提取特定部分。该文件如下所示:

TGTTCCAGGCTGTCAGATGCTAACCTGGGG
TCACTGGGGGTGTGCGTGCTGCTCCAGCCT
GTTCCAGGATATCAGATGCTCACCTGGGGG
Run Code Online (Sandbox Code Playgroud)

...

每行30个字符。

我有一个单独的文件来指示这些部分,这意味着我有一个开始值和一个结束值。因此,对于每一个开始结束的值,我需要提取的文件中的相应字符串。例如,如果我有start = 10,end = 45,则需要将以第一行(C)的第10个字符开始并以第2行(C)的第15个字符结束的字符串存储在单独的临时文件中文件。

我尝试将fread函数(如下所示)用于具有上述字母行的测试文件。参数分别为:开始 = 1,结束 = 90,结果文件如下:

TGTTCCAGGCTGTCAGATGCTAACCTGGGG
TCACTGGGGGTGTGCGTGCTGCTCCAGCCT
GTTCCAGGATATCAGATGCTCACCTGGG™eRV
Run Code Online (Sandbox Code Playgroud)

每次运行都会在末尾给出随机字符。

代码:


FILE* fp;
fp=fopen(filename, "r");
if (fp==NULL) puts("Failed to open file");

int start=1, end=90;
char string[end-start+2]; //characters from start to end = end-start+1

fseek(fp, start-1, SEEK_SET);

fread(exon,1, end-start+1, fp);

FILE* tp;
tp=fopen("exon", "w");
if (tp==NULL) puts("Failed to make tmp file");

fprintf(tp, "%s\n", string);
fclose(tp);

Run Code Online (Sandbox Code Playgroud)

我不明白fread如何处理\ n字符,因此我尝试将其替换为以下内容:

int i=0; …
Run Code Online (Sandbox Code Playgroud)

c

8
推荐指数
1
解决办法
132
查看次数

用MIT方案绘制图形

我希望使用MIT方案以图形方式绘制函数.在方案手册中,有一个名为"图形"的部分 - 引用:

MIT Scheme has a simple two-dimensional line-graphics interface that is 
suitable for many graphics application.
Run Code Online (Sandbox Code Playgroud)

如果您遇到过这种情况,请通过粘贴与MIT /方案一起使用的最小工作代码(KISS原则)帮助我,并绘制一些东西.

scheme mit-scheme

6
推荐指数
2
解决办法
2764
查看次数

mit-scheme - 运行脚本并退出

我想从makefile评估一个脚本并退出,就像这样

mit-scheme --load "fact.scm"
Run Code Online (Sandbox Code Playgroud)

但是,在评估文件后,它不会退出,并显示repl; 如果我尝试(exit)原语,它会要求确认y/n.有可能解决这个问题吗?

mit-scheme

6
推荐指数
2
解决办法
1741
查看次数

是否有理由对像<number> [array]这样的数组进行寻址?

最近,我看到一个问题的答案,他们解释说,以这种方式寻址数组<number>[array]是有效的C代码。 方括号在C中如何工作?

例:

char x[] = {'A','B','C','D','E','F','G','H','I','J'};
printf("%d\n",5[X]);
//Will print 70 == 'F'
Run Code Online (Sandbox Code Playgroud)

对于包括作者在内的每个人来说,这种表示法似乎都很麻烦并且可能会造成混淆。

这种寻址数组的方式是否具有某些合理的优势?

要么

我可以继续生活而不用担心吗?

c

6
推荐指数
2
解决办法
173
查看次数

抽吸引理(常规语言)

我需要一些泵浦引理问题的帮助.

L = { {a,b,c}* | #a(L) < #b(L) < #c(L) }
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所得到的:

y = uvw is the string from the pumping lemma.
Run Code Online (Sandbox Code Playgroud)

我让y = abbc ^ n,n是泵浦引理的长度.y在L中,因为a:s的数量小于b:s的数量,并且b:s的数量小于c:s的数量.

我让u = a,v = bb和w = c ^ n.| UV | <y,如抽水引理中所述.如果我"抽"(bb)^ 2然后我得到

y = abbbbc^n which violates the rule #b(L) < #c(L).
Run Code Online (Sandbox Code Playgroud)

这是正确的吗 ?我是在"正确的道路上"吗?

谢谢

automata pumping-lemma regular-language formal-languages

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

在Python中使用findall和括号

我需要在符号之后或字符串的开头提取所有字母,+如下所示:

formula = "X+BC+DAF"
Run Code Online (Sandbox Code Playgroud)

我试过了,我不想看到+结果中的标志.我希望只看到['X', 'B', 'D'].

>>> re.findall("^[A-Z]|[+][A-Z]", formula)
['X', '+B', '+D']
Run Code Online (Sandbox Code Playgroud)

当我用括号分组时,我得到了这个奇怪的结果:

re.findall("^([A-Z])|[+]([A-Z])", formula)
[('X', ''), ('', 'B'), ('', 'D')]
Run Code Online (Sandbox Code Playgroud)

当我尝试分组时为什么会创建元组?如何直接编写正则表达式以使其返回['X', 'B', 'D']

python regex

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

在这个C代码中,表达式如何充当布尔值

基本上我在下面的代码中有两个问题:

const char *x = "abc";
const char *y = "def";

char *res = (char*)malloc(0);
char *z = res;
while (*z++ = *x++);
z--; // remove \0
while (*z++ = *y++);

printf("%s\n", res); // output: abcdef
free(res);
Run Code Online (Sandbox Code Playgroud)

此代码的目的是在一个中添加两个字符串.但是这条线while (*z++ = *x++);如何起作用boolean 1/0,为什么我甚malloc(0);至将它设置为零它也运行良好没有任何问题?

c

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