100,000,000使用以下方法对第一个正整数求和:
import numpy as np
np.arange(1,100000001).sum()
Run Code Online (Sandbox Code Playgroud)
我返回:987459712,它与公式不匹配:N(N+1)/2for N=100000000。即,公式返回5000000050000000。
在发布之前,我写了以下内容,返回True:
np.arange(1,65536).sum() == ((65535+1) * 65535)/2
Run Code Online (Sandbox Code Playgroud)
然而,这个数字65536似乎是一个关键点,因为
np.arange(1,65537).sum() == ((65536+1) * 65536)/2
Run Code Online (Sandbox Code Playgroud)
返回False。
对于大于65536代码的False整数返回,而低于此阈值的整数返回True。
有人可以解释我在计算总和时做错了什么,或者代码发生了什么?
考虑两个列表推导gamma和delta几乎冗余的代码.区别在于切片名单alpha和beta,即
gamma = [alpha[i:i+30] for i in range(0,49980,30)]
delta = [beta[i:i+30] for i in range(0,49980,30)]
Run Code Online (Sandbox Code Playgroud)
是否有一种pythonic方式将其写成一个衬垫(比方说gamma,delta = ...)?
我还有一些其他类似的代码,它们本质上是相似的,我想简化代码的看似冗余.
我正在寻找一个输入两个长度为n的向量的函数,
即[:a:b:c:d:e:f] [1 2 3 4 5 6].输出一个长度为2n的向量
[:a 1:b 2:c 3:d 4:e 5:f 6].
但是,如果输入的第二个向量与n的长度不匹配,它将循环,
即[:a:b:c:d:e:f] [1 2 3]
输出:[:a 1:b 2:c 3:d 1:e 2:f 3].
(defn Swanson [x y] (vec (flatten (interleave x (repeat (count x) y)))))
Run Code Online (Sandbox Code Playgroud)
此外,该函数也可以取[xy min max n],其中x和y是向量,min是开始交织的索引,max是结束交织的索引,n是交织的步长.
我希望从矢量中挑选出随机(即伪随机)元素.该函数将有一个输入,称之为r,它将选择要选择的元素数.此外,称为v的向量也必须是输入.这是我从未尝试过的,也不知道从哪里开始.
进入构造的假设将是r小于v中的元素数量.从v中选择的重复元素也不是问题.要明确的是,元素将是严格的数字,实际上它们将是浮点数,我希望在选择时保留该结构.
我尝试了一些类似的东西
(take 2 (iterate rand-nth [2 3 4 5 6 7]))
Run Code Online (Sandbox Code Playgroud)
但是从列表中返回向量和一个随机元素,即
([2 3 4 5 6 7] 7)
Run Code Online (Sandbox Code Playgroud)
来自java的一些类似帖子包括:如何在main中的所有声明对象中只选择一次该数组中的随机元素?
我正在尝试实现以下链接http://data-sorcery.org/category/pca/并发现自己陷入了尝试加载必要的Incanter库,即
(use '(incanter core stats charts datasets))
Run Code Online (Sandbox Code Playgroud)
我对Incanter的唯一依赖是[incanter "1.5.4"].这是否足以加载库,我只是遗漏了什么?
我不确定如何在链接中加载4个突出显示的库.要注意我之前在REPL中使用过Incanter.
编辑:我的文本编辑器具有以下内容
(ns my-namespace.filename
(:use [incanter.core]
[incanter.stats]
[incanter.charts]
[incanter.datasets]))
(def iris (to-matrix (get-dataset :iris)))
(view iris)
Run Code Online (Sandbox Code Playgroud)
它返回错误 CompilerException javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name, compiling:(pca.clj:11:22)
错误似乎源于内部部分,即get-dataset ...我不确定如何修复.
我想学习如何通过Clojure运行JavaScript,特别是在Clojure中实现这个D3图.
在我尝试实现上面的图形方法时,我遇到了ClojureScript.但是,我对手头的问题一直没有成功.
ClojureScript是正确的方法吗?如果是这样,我将如何实现上述D3图表?
我想编写一个连接向量或矩阵的函数,它可以接受任意输入.为了组合两个向量,我编写了以下代码.它还可以组合矩阵,以便延长列.
(defn concats
([x y] (vec (concat x y))))
Run Code Online (Sandbox Code Playgroud)
我被卡住的地方是将输入扩展到n个向量或矩阵,并组合矩阵以产生更长的行.
例)(某些函数[[:a:b] [:c:d]] [[1 2] [3 4]] 2]
[[:a :b 1 2] [:c :d 3 4]]
Run Code Online (Sandbox Code Playgroud)
输入中的2指定级别以进行连接.
输入一个向量我想写一个函数,给出元素之间的连续差异.理想情况下,函数应输入向量x和指定第n个差异的参数n.
样本[xn]
输入1:[16 10 8 6 4 2] 1(第一个差异为1)
输出1:[ - 6 -2 -2 -2 -2]
输入2:[16 10 8 6 4 2] 2
输出2:[4 0 0 0 nil nil]
象征性地,这里是样本2的内容(意思是说明,而不是Clojure代码)
[abcdef] 2
[a-2b + c,b-2c + d,c-2d + e,d-2e + f]
Clojure中是否有函数,它模拟Mathemaica函数播种/收获?母猪和母猪的主要用途是收集在评估过程中产生的表达.
例)
在Mathematica中输入:收获[Sow [w = 2]; w + = Sow [w ^ 3]; w = Sqrt [w + w ^ 3]]
输出:{Sqrt [1010],{{2,8}}}
给出中间结果2和8.
我是regex的新手,但有一个想法是从输入字符串中提取数字和单位.我最初的想法是构建一系列可能的兴趣单元.然后查看输入的数字序列,然后是单位.但是,我不确定如何在正则表达式中结合数组和数字的想法.
我很可能计划使用core.matrix数组函数构造数组.虽然我不确定这是否是数字和单位的正则表达式耦合的最佳方法.
一个示例输入可能是"我们正在寻找100公斤袋装大米".
或者,可能"在这里我们发现了一袋100公斤的大米."
因此,数字和单位之间可能存在空白区域.
clojure ×8
python ×2
python-3.x ×2
d3.js ×1
incanter ×1
javascript ×1
numpy ×1
regex ×1
sum ×1