par , 27/10/2021 à 13h01 (978 Affichages)
- Le 2021-10-27, j'utilise Julia_1.7.0-rc2 sur VS_Code_1.61.2. Ordinateur : W10 Pro, i9-10900F.
- Préalables, mes billets précédents sur Julia sont supposés connus et assimilés.
Question posée sur le forum Python.
Nota bene qu'en Julia :
- quote est un mot clé
- on ajoute un texte à un autre avec * : "l'" * "on"
- on produit plusieurs caractères avec ^ : "'"^5
- j'utilise le paquet StatsBase.jl pour tirer le signe au sort avec sample(items, Weights(weights)) et je peux ainsi inclure au maximum 20% de boules par ligne.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| using Base, StatsBase
#=
Nota bene :
que quote est un mot clé en Julia
que l'on ajoute un texte à un autre avec *
que l'on produit plusieurs caractères avec ^ : "'"^5
=#
function signe(n)
r = ""
items = ["'", "o"]
weights = [0.8, 0.2]
for _ in 1:n
r = r * sample(items, Weights(weights))
end
return r
end
function sapin(n)
println()
for k in 1:n
if k == 1
println(" "^(2n - 2) * "*")
println(" "^(2n - 2) * "^")
elseif k == 2
println(" "^(2n - 3) * "/\"\\")
else
println(" "^((2n - 2) - k) * "/" * signe(2k - 1) * "\\")
end
end
pied = " "^(2n - 3) * "|||"
println(pied)
println(pied)
println(pied)
println()
end
function main()
sapin(15)
end
@time main() |
*
^
/"\
/o''''\
/''o''''\
/'ooo'''''\
/''o''''''''\
/o'''''''o''''\
/''o''o''''oo'''\
/'''''ooo'''o'''''\
/''''''''''''o'o''''\
/''''o''''''''o'''''''\
/''''o'''o''''''''''o'''\
/''''''''''oo'''oo''''''''\
/'''''''oo''o''''''''oo'''''\
/'''o'''''o'''''''o'''''''''''\
|||
|||
|||
0.003981 seconds (743 allocations: 26.578 KiB, 36.43% compilation time)
Licence Creative Commons Attribution 2.0 Belgique