IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

danielhagnoul

Julia, exercice : remplacer un certain pourcentage de caractère par un autre.

Noter ce billet
par , 27/10/2021 à 12h01 (874 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.


Code Julia : Sélectionner tout - Visualiser dans une fenêtre à part
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

Envoyer le billet « Julia, exercice : remplacer un certain pourcentage de caractère par un autre. » dans le blog Viadeo Envoyer le billet « Julia, exercice : remplacer un certain pourcentage de caractère par un autre. » dans le blog Twitter Envoyer le billet « Julia, exercice : remplacer un certain pourcentage de caractère par un autre. » dans le blog Google Envoyer le billet « Julia, exercice : remplacer un certain pourcentage de caractère par un autre. » dans le blog Facebook Envoyer le billet « Julia, exercice : remplacer un certain pourcentage de caractère par un autre. » dans le blog Digg Envoyer le billet « Julia, exercice : remplacer un certain pourcentage de caractère par un autre. » dans le blog Delicious Envoyer le billet « Julia, exercice : remplacer un certain pourcentage de caractère par un autre. » dans le blog MySpace Envoyer le billet « Julia, exercice : remplacer un certain pourcentage de caractère par un autre. » dans le blog Yahoo

Mis à jour 27/10/2021 à 15h27 par danielhagnoul

Catégories
Sans catégorie

Commentaires

  1. Avatar de danielhagnoul
    • |
    • permalink
    Modifié, simplement parce que j'avais oublié de simplifier le "else", je suis un peu fatigué sans doute.