Julia在計(jì)算階乘的時(shí)候,如果階乘數(shù)超過(guò)21,便會(huì)出錯(cuò),但是如果加一個(gè)big()便可以計(jì)算了
julia> factorial(big(21))
51090942171709440000
過(guò)去不知道的一個(gè)小技巧??!
如果需要建立一個(gè)函數(shù)對(duì)應(yīng)的詞典,則先創(chuàng)造一個(gè)詞典,比如通過(guò)
julia> a = Dict(1=>"one",2=>"two")
Dict{Int64,String} with 2 entries:
2 => "two"
1 => "one"
對(duì)應(yīng)的此點(diǎn)就有了key和values
julia> keys(a)
Base.KeySet for a Dict{Int64,String} with 2 entries. Keys:
2
1
julia> values(a)
Base.ValueIterator for a Dict{Int64,String} with 2 entries. Values:
"two"
"one"
詞典建立也可以簡(jiǎn)單循環(huán)創(chuàng)造出詞典,比如計(jì)算正弦角度值
julia> dict = Dict(string(i) => sind(i) for i = 0:5:360)
Dict{String,Float64} with 73 entries:
"320" => -0.642788
"65" => 0.906308
"155" => 0.422618
"335" => -0.422618
"75" => 0.965926
"50" => 0.766044
"190" => -0.173648
"270" => -1.0
這樣每一個(gè)計(jì)算的值都有一個(gè)對(duì)應(yīng)的keys,這點(diǎn)非常有用。
編輯一個(gè)計(jì)算shannon-wiener指數(shù)的函數(shù)
a = [25,25,25,25]
swH(a)
return 2
可以的