Linux:模拟双色球中奖的脚本

模拟双色球中奖的脚本

前几天已经写过一个模拟双色球生成一注号码的脚本,这次调整了一下代码,把中奖的过程也写进去,实现双色球的抽奖功能。

  • 画出代码的流程图

在这里插入图片描述

  • 脚本如下
#!/bin/bash
function genNumbers() {

     redballs=({1..33})
     blueballs=({1..16})

     while :;
     do
        [ ${#redballs[@]} -eq 27 ] && break
        rindex=$[ $RANDOM%33 ]
        [ -n "${redballs[${rindex}]}" ] && echo -ne "\033[31m${redballs[${rindex}]}\033[0m  " && unset redballs[${rindex}]
     done


     bindex=$[ $RANDOM%16 ]
     echo -e "\033[34m${blueballs[$bindex]}\033[0m"

 }

customers=($(genNumbers))
backGround=($(genNumbers))
echo "这是你的号码:${customers[*]}"

if [[ ${customers[6]} == ${backGround[6]} ]]; 
then
    i=0
    flag=0

    while [ $i -le 5 ]
    do
        j=0
        while [ $j -le 5 ]
        do 
            c=${customers[${i}]}
            b=${backGround[${j}]}
            [[ "$c" == "$b" ]] && let flag++
            let j++
        done
        let i++
    done

    [ $flag -le 2 ] && echo "恭喜你!你中了六等奖,奖金 5元  !"
    [ $flag -eq 3 ] && echo "恭喜你!你中了五等奖,奖金 10元  !"
    [ $flag -eq 4 ] && echo "恭喜你!你中了四等奖,奖金 200元  !"
    [ $flag -eq 5 ] && echo "恭喜你!你中了三等奖,奖金 3000元  !"
    [ $flag -eq 6 ] && echo "恭喜你!!!!!!!!!!你中了一等奖,奖金 500万元  !"
else
    i=0
    flag=0

    while [ $i -le 5 ]
    do
        j=0
        while [ $j -le 5 ]
        do
            c=${customers[${i}]}
            b=${backGround[${j}]}
            [[ "$c" == "$b" ]] && let flag++
            let j++
        done
        let i++
    done

    [ $flag -le 3 ] && echo "很遗憾!你没有中奖!!"
    [ $flag -eq 4 ] && echo "恭喜你!你中了五等奖,奖金 10元  !"
    [ $flag -eq 5 ] && echo "恭喜你!你中了四等奖,奖金 200元  !"
    [ $flag -eq 6 ] && echo "恭喜你!你中了二等奖,奖金 300万元  !"
fi
echo "开奖结果:${backGround[*]}"

运行上面的脚本,就可以”买“双色球啦!赶快运行看看你能不能中500万!

  • 看看何时能中500万
#!/bin/bash

i=1
while :;
do
        balls=`ballsPlus` #前提是要将双色球的脚本提升为环境变量才能直接执行
        result=`echo $balls | sed -nr '/500/p'`
        echo "$i"
        let i++
        [ -n "$result" ] && echo "500万到手!" && break
done

运行上面的脚本,看看你要多少次才能中500万!

  • 将脚本作为命令使用的方法:
#查看你的环境变量
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/var/lib/snapd/snap/bin:/root/bin
#将在/usr/bin下创建一个双色球脚本的符号连接(我的脚本名字是  ballsPlus.sh)
ln -s /root/ballsPlus.sh /usr/bin/ballsPlus
#给源文件赋予执行权限
chmod 777 /root/ballsPlus.sh

提升变量之后就可以执行刚刚的脚本啦!赶紧试试要多少次才能中500万吧!

中双色球的概率是1700多万分之一…我模拟了130多万都没有成功,你们加油吧!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值