shell 脚本之双色球

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 脚本之双色球相关的知识,希望对你有一定的参考价值。

首先要清楚双色球的玩法:6个红球(1~33)和1个蓝球(1~16)中选取一个所谓的6+1

    要生成1~33之间6个随机数,且不能相等,这是关键,如果使用传统的判断方法(第一个与第二个...第二个与第三比...),势必代码会很长很长,我的思路是:使用${RANDOM} % 33 +1 的方式,把这6个红球放在一个数组RED里面,使用:for J in "${RED[@]}";do echo $J;done) |sort |uniq -d 的方式去判断有没有重复值

技术分享

  执行效果: 10注为例:

技术分享

                文本

#!/bin/bash

#Author:wangergui       Email:[email protected]          Date:2016-09-17

#Release 1.0

#Function:shuang se qiu

declare -a RED


read -t 10 -p "Please input a number: " NUM

STR=`echo ${NUM} |sed ‘sN^.*[[:digit:]]$NNg‘`

[[ -z "${STR}" ]] || exit 2


for I in `seq ${NUM}`;do


       while true;do


RED=($(($RANDOM % 33 +1)) $(($RANDOM % 33 +1)) $(($RANDOM % 33 +1)) $(($RANDOM % 33 +1)) $(($RANDOM % 33 +1)) $(($RANDOM % 33 +1)))

BLUE=$(($RANDOM % 16 +1))

STRING=`(for J in "${RED[@]}";do echo $J;done) |sort |uniq -d`


        if  [[ -z "${STRING}" ]];then


        echo -e "\E[40;31;1m ${RED[@]}\E[0m || \E[40;34;1m ${BLUE}\E[0m"  && break


        fi


        done

done


本文出自 “linux相关技术” 博客,谢绝转载!

以上是关于shell 脚本之双色球的主要内容,如果未能解决你的问题,请参考以下文章

设置一个双色球脚本

设置一个双色球脚本并带颜色输出

Python之双色球选购和三级菜单问题

Golang之math/rand,双色球预测

HTML小项目之双色球

原生js代码挑战之动态添加双色球