shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] [OT] mega-sena com shell


From: Julio C. Neves
Subject: Re: [shell-script] [OT] mega-sena com shell
Date: Fri, 2 Jan 2015 15:28:38 -0200

Para que a máquina sorteie os números usando o yad:

#!/bin/bash
function Sorteia
{
    # unset Nums
    Qtd=$(cut -f1 -d, <<< $1)               # Pegando só a parte inteira do número
    while ((Qtd > ${#Nums[@]}))
    do
        Num=$(((RANDOM + 1) % 61))          # Gera números entre 1 e 60
        ((Nuns[Num] == 1)) && continue      # Número foi sorteado pela 2ª vez?
        Nums[Num]=1
    done
    echo 2:"${!Nums[@]}"                    # Escreve no 2º campo do form
}
export -f Sorteia
yad --form --columns 2 --center \
    --field "Quantas apostas serão":NUM '6!6..15!1!0' \
    --field "Números escolhidos" 'Local da sorte' \
    --field "Me faça rico":FBTN @"bash -c 'Sorteia %1'" #  Chama a função Sorteia, passando
                                                        #+ a qtd de apostas (1º campo)

Do jeito que eu fiz, ao fim da execução os números estarão perdidos, porém se desejar salvá-los, basta trocar a linha do yad por:

Saida=$(yad .... ... ...)
IFS=\| read lixo Numeros lixo <<< "$Saida"

Abcs,
Julio
@juliobash
P
róximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 09 a 13/03/15
São Paulo 4Linux 24 a 28/11/14
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 2 de janeiro de 2015 13:46, Alfredo Casanova address@hidden [shell-script] <address@hidden> escreveu:
 

Júlio,

tinha feito essa função aqui exatamente pra isso. 
Como é possível fazer apostas de até 15 números, fiz o seguinte.
O usuário seleciona as dezenas que quer apostar e a função gera combinações aleatórias usando eles.

pra fazer com todos os 60 números, basta fazer:
$ ./gerapalpite $(seq -w 60)

$ cat gerapalpite
#!/bin/bash
ARRAY=( $* )

function sorteia {
echo ""
echo $1 Numeros:

for (( i=0; i<$2; i++ ))
do
for j in $(shuf --input-range=0-$(( ${#ARRAY[*]}-1 )) | head -$1)
do
echo "${ARRAY[$j]} "
done | sort | sed ':a;$!N;s/\n//;ta;'
done
}

sorteia 15 10 # gera 10 palpites de 15 números
sorteia 9 1 # gera 1 palpite de 9 números
sorteia 8 3 # gera 3 palpites de 8 números
sorteia 7 10 # gera 10 palpites de 7 números
sorteia 6 2 #gera 2 palpites de 6 números



On Fri Jan 02 2015 at 12:43:01 PM José Ferreira Neto address@hidden [shell-script] <address@hidden> wrote:
 

Julio e pessoal...
O código deveria gerar os números, mas não gera, onde está o erro?
Eu estou usando Fedora.



------------------------------------------------------------
José Ferreira Neto
Analista de Sistemas e Suporte de Informática
Desenvolvimento web, segurança e administração de redes
Músico cristão membro da AD.
Faça contato comigo | Visite meu site
Emails: address@hidden | address@hidden
Meus Twitter's: @netto_info | @clickmusical | @veiadigital
Facebook
Meu site sobre música evangélica: http://clickmusical.mus.br 

Em 1 de janeiro de 2015 10:51, 'Julio C. Neves' address@hidden [shell-script] <address@hidden> escreveu:


 

Fala Gustavo,
Gostei! Ficou muito legal, mas experimente trocar a última linha pela linha a seguir. Não sei se dará mais sorte, mas fica mais bonito. ;)

zenity --list --text "Ocorrência de números na <b>Mega Sena</b>"  \
    --column Ocorrencias --column Número --column Ocorrencias     \
    --column Número --column Ocorrencias --column Número          \
    --width 520 --height 520                                      \
    $(grep -E -a -A 6 '[0-9]{2}/[0-9]{2}/[0-9]{4}' D_MEGA.HTM     |
        sed 's/<td>// ; s/<\/td>// ; s/--//' | grep -E '[0-9]{2}' |
        grep -vE '[0-9]{2}\/[0-9]{2}\/[0-9]{4}'                   |
        sed 's/.*>//;s/\r//g' | sort | uniq -c | sort)

Ou, se vc já instalou o yad (se ainda não instalou, o melhor é instalar agora):

yad --list --text "Ocorrência de números na <b>Mega Sena</b>"     \
    --column Ocorrencias --column Número --column Ocorrencias     \
    --column Número --column Ocorrencias --column Número          \
    --width 530 --height 590                                      \
    --image /usr/share/icons/Mint-X/apps/48/gnucash-icon.png      \
    --image-on-top --button gtk-ok                                \
    $(grep -E -a -A 6 '[0-9]{2}/[0-9]{2}/[0-9]{4}' D_MEGA.HTM     |
        sed 's/<td>// ; s/<\/td>// ; s/--//' | grep -E '[0-9]{2}' |
        grep -vE '[0-9]{2}\/[0-9]{2}\/[0-9]{4}'                   |
        sed 's/.*>//;s/\r//g' | sort | uniq -c | sort)

OBS: Se aparecer um frasco de veneno no lugar do icone, pesquise em /usr/share/icons algo referente a money, cash ou coins. A imagem que usei é típica do Mint LMDE.

Abcs,
Julio
@juliobash
P
róximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 09 a 13/03/15
São Paulo 4Linux 24 a 28/11/14
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 30 de dezembro de 2014 22:40, 'Gustavo S. L.' address@hidden [shell-script] <address@hidden> escreveu:
 

Oi. Não sei se ajuda alguém, mas segue um script para saber quantas vezes um número já caiu na mega-sena.

#!/bin/bash
unzip D_megase.zip
cat D_MEGA.HTM | grep -E -a -A 6 '[0-9]{2}/[0-9]{2}/[0-9]{4}' \
| sed 's/<td>// ; s/<\/td>// ; s/--//' \
| grep -E '[0-9]{2}' | grep -vE '[0-9]{2}\/[0-9]{2}\/[0-9]{4}' \
| sed 's/.*>//' | sort | uniq -c | sort






reply via email to

[Prev in Thread] Current Thread [Next in Thread]