我有一长串数字,如下所示。我想找到每个数字的频率分布,但我无法使用 Counter 函数来获取每个项目的频率,因为它们是整数,并且我收到错误,它是不可迭代的,因此我无法将列表转换为字符串。我检查了类似的问题,但它们对我不起作用。
data=[1.0, 2.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 15.0, 0.0, 0.0, 0.0, 0.0, 3.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 7.0, 1.0, 0.0, 0.0, 4.0, 3.0, 3.0, 1.0, 1.0, 2.0, 4.0, 0.0, 1.0, 7.0, 2.0, 1.0, 1.0, 4.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 3.0, 2.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 0.0, 10.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 2.0, 3.0, 0.0, 3.0, 2.0, 11.0, 0.0, 5.0, 2.0, 0.0, 1.0, 2.0, 1.0, 8.0, …Run Code Online (Sandbox Code Playgroud) 我是 Prolog 的新手,但我掌握了基础知识。我在读取文件时遇到问题。这是我的文件:
16
78 45 12 32 457 97 12 5 731 2 4 55 44 11 999 7
Run Code Online (Sandbox Code Playgroud)
我想阅读它,以便将字符作为数字取回。第一行是第2行的数字数量,问题是:
1) 如何在空格或新行字符上拆分它们
2)它们必须是数字:32,而不是字符串:“32”
我正在使用 SWI-Prolog。
最近,在阅读Programming Languages and Practice book 的一些文章后,提到Java 中的多接口继承不会遇到与C++ 中的多类继承相同的问题。
但我不明白为什么会发生这种情况。java如何在C++实现中存在错误时使用多接口继承??
有没有办法替换 C++ 中的多重继承以避免实现问题?
为了让最后一条语句更具体,让我们说我们有:
class A {...};
class B : public A {...};
class C : public A {...};
class D : public B, public C {...};
Run Code Online (Sandbox Code Playgroud)
然后类 D 继承类 B,C,它们都继承类 A。所以如果 A 有一个字段变量,那么 B,C 将具有相同的变量名称,那么 D 将具有什么变量(从 B 或 C 继承)。为了避免这种情况我们可以编写没有多重继承但具有相似结果的上述代码吗?
这个问题不是重复的,因为它不关注示例中的最终继承是什么,而是了解 Java-C++ 多重继承之间的区别(参见上面的第一个问题)以及是否有建议克服的方法一些多重继承问题(如上)。
void quick_exit( int exit_code )c11标准和void exit( int exit_code )c11标准之前已经存在的功能有哪些区别?
我需要为 Prolog 创建一个笛卡尔积计算器。它应该像这样工作:
输入: product([1,2,3], [a,b], X).
输出: X = [[1,a],[2,a],[3,a],[1,b],[2,b],[3,b]].
我知道网上有例子,但我想自己写点东西。
这是我的代码,我认为它非常接近,但由于某种原因,它并不完全有效。有什么想法吗,伙计们?
% call new with 4 parameters (so we can keep List1 in memory)
product(L1,L2,L3):- product(L1,L2,L3,L1).
% stop when both List1 and List2 are empty
product([], [], [], []).
% first list is empty, recreate it and work it again with the next element of second list (and shorten memory)
product([], [_|T2], List3, [H4|T4]):-
product([H4|T4], T2, List3, T4).
%go through first list and always first element of second …Run Code Online (Sandbox Code Playgroud) 我的印象是,要找到嵌套的for循环的大O,则将每个forloop的大O与下一个for循环相乘。大O是否适合:
for i in range(n):
for j in range(5):
print(i*j)
Run Code Online (Sandbox Code Playgroud)
是O(5n)吗?如果是的话,大O将:
for i in range(12345):
for j in range(i**i**i)
for y in range (j*i):
print(i,j,y)
Run Code Online (Sandbox Code Playgroud)
是O(12345*(i**i**i)*(j*i)?还是O(n^3)因为嵌套了3次?我很混乱
我编写了一个简单的程序来尝试使用满足特定约束的元素填充给定长度的列表.
例如,我想创建一个包含0到9之间的4个整数的列表,其中至少包含3和4.我可以想到几个(数千个,真的)这样的列表:
[3,4,0,0]
[0,3,4,0]
[3,1,9,4]
etc...
Run Code Online (Sandbox Code Playgroud)
但SWI Prolog刚刚回归false.我只是犯了某种逻辑错误,还是我使用Prolog错了?
我的代码:
is_single_digit_integer(N) :-
integer(N),
between(0, 9, N).
filled_list(Given, FillConstraint, OutLen, Out) :-
is_list(Out),
length(Out, OutLen),
length(Given, GivenLen),
between(0, OutLen, GivenLen),
maplist(FillConstraint, Out),
subset(Given, Out).
Run Code Online (Sandbox Code Playgroud)
并运行我描述的示例:
?- filled_list([3,4], is_single_digit_integer, 4, X).
Run Code Online (Sandbox Code Playgroud) 我正在试验Prolog并试图制作我自己的" if-then-else"方法,所以我不使用这种-> ;方法,为了试验而做.我的目标是使它在我的代码中可以嵌套ifs和elses(如果需要).到目前为止,我有这个:
ifthenelse(_, G, G):- G. %no matter the condition, the goals are the same
ifthenelse(true,G,_):- G. %if
ifthenelse(false,_,G):- G. %else
Run Code Online (Sandbox Code Playgroud)
我认为我的方式似乎不太正确.我怎样才能做好自己的事ifthenelse/3?
谢谢
在 ansible 中,当我将访问密钥、秘密密钥、令牌传递给我的 aws 凭据时,它会将访问密钥传递给我的 ansible 模块 s3,但是当我传递秘密密钥和令牌时,它会这样显示我。那么我""VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"
怎么能解决这个。
在 accesskey id 中根本没有额外的特殊符号,我们只有文本字母,但在安全和会话中我们有 / 和特殊符号,可能是因为它像"VALUE_SPECIFIED_IN_NO_LOG_PARAMETER"???
谢谢你们
python amazon-s3 amazon-web-services ansible ansible-playbook
我想写谓词,它可以计算所有遇到的数字:
count(1, [1,0,0,1,0], X).
X = 2.
Run Code Online (Sandbox Code Playgroud)
我试着把它写成:
count(_, [], 0).
count(Num, [H|T], X) :- count(Num, T, X1), Num = H, X is X1 + 1.
Run Code Online (Sandbox Code Playgroud)
为什么不工作呢?