返回列表 发帖

[其他] 彩票走势图绘制

彩票种类很多,先来一个福彩3d走势图的批处理。数据源来自乐彩网
代码经过极度优化,几乎可在3秒内就能绘制完全部十几年的3D走势图,txt打开禁用自动换行,效果蛮不错,提供了试机号、销售详情、和值、路线等多种参考数值。
@echo off&title
setlocal enabledelayedexpansion
mode con cols=45 lines=12
color 0f
:main
echo 福彩·3D 走势绘制
echo ...
::开始计时
set t1=!time:~-5!
::设置走势图变量
set "0=0                  "
set "1=■1                "
set "2=■■2              "
set "3=■■■3            "
set "4=■■■■4          "
set "5=■■■■■5        "
set "6=■■■■■■6      "
set "7=■■■■■■■7    "
set "8=■■■■■■■■8  "
set "9=■■■■■■■■■9"
(
echo  _________________________________________________________________________________________________________________________________________________________________________________________________________
echo 丨     期号     丨   日期   丨 试机号丨 机丨   开奖号  丨            百位          丨            十位          丨            个位          丨和值 丨  路线 丨    销售金额    丨         中奖详情         
echo  _________________________________________________________________________________________________________________________________________________________________________________________________________
echo  _________________________________________________________________________________________________________________________________________________________________________________________________________
for /f "tokens=1-17" %%h in (3d.TXT) do (
set "dis= "
set "sdis=  "
set "ye=%%i"
set/a "num=%%u+%%w,sum=%%j+%%k+%%l,pan=(%%j-%%k)*(%%k-%%l)*(%%l-%%j),span=%%j+%%k-2*%%l,sin1=%%j%%2,sin2=%%k%%2,sin3=%%l%%2,road1=%%j%%3,road2=%%k%%3,road3=%%l%%3,pan2=sin1+sin2-2*sin3"
if !sum! lss 10 (set "sum= !sum!")
if !pan! equ 0 (set "dis=*" &if !span! equ 0 (set "sdis=豹"))
if !pan2! equ 0 (if !sin1! equ 0 (set nis=偶) else (set nis=奇)) else (set "nis=  ")
if "!ye:~5,1!"=="0" (set "mon= !ye:~6,1!") else (set "mon=!ye:~5,2!")
if "!ye:~-2,1!"=="0" (set "da= !ye:~-1!") else (set "da=!ye:~-2!")
if %%r lss 100000 (set "x1="&set "x2="&set "x3=") else (set x1=总计%%r元 &set x2=单选%%s注 &set x3=组选!num!注)
echo 丨第  %%h 期丨 !mon!!da!日 丨(%%m%%n%%o)丨%%p-%%q!nis!!sdis! %%j%%k%%l  !dis!丨百!%%j!     丨十!%%k!     丨个!%%l!     丨和 !sum!!road1!,!road2!,!road3!!x1!    !x2!    !x3!
)
echo  _________________________________________________________________________________________________________________________________________________________________________________________________________
)>3db
for /f %%a in ('find /c /v ""^<3d.TXT') do (set/a i=%%a,l=i-1)
for /f "tokens=1" %%a in ('more +!l! 3d.TXT') do (set/a head2=%%a)
(set /p head1=)<3d.TXT
(
echo 福彩3D开奖数据
echo;
echo  第!head1:~0,7!期 ~ 第!head2!期    共计!i!期         *代表组三
)>3dh &copy /b 3dh+3db 福彩3D走势图.txt  1>NUL 2>NUL
::毫秒计时器
set t2=!time:~-5! &set/a "t=1!t2:.=!-1!t1:.=!" &if !t! lss 0 (t+=6000)
echo 用时!t:~0,-2!!t:~-2!0毫秒
start 福彩3D走势图.txt
del 3dh &del 3db
set/p=COPY
绘制完的走势图过于庞大,不便查询,于是用批处理模拟数据库,实现了包括关键字查询、子查询等功能。
@echo off
title 3D Speed
setlocal enabledelayedexpansion
mode con cols=45 lines=12
color 0f
:main
set i=0
set tp=%0
set ctp=%0
set "tx="
:mainA
cls
echo   ■■   ■■        %date%   
echo      ■   ■  ■   
echo    ■     ■  ■              
echo      ■   ■  ■ ____________________
echo   ■■  D■■   丨Copyright2016~2018
echo ________________!tx!
set "str="
set /a i+=1
set /p str=第!i!级查询:
if "!str!"=="sys" (
                   echo [系统信息]        %date%>.\sysinfo.ini
                   echo __________________________________________________________________________________>>.\sysinfo.ini
                   systeminfo>>.\sysinfo.ini
                   start .\sysinfo.ini
                   goto main
                    )
if "!str!"=="" goto main
set "tp=!ctp!"
set "tx=!tx!!str!’"
if "!str!"=="0" (goto main)
if "!str!"=="." (set "str=奇"&goto search)
if "!str!"==".." (set "str=偶"&goto search)
if "!str!"=="..." (set "str=豹"&goto search)
if "!str:~1,1!"=="," (goto search)
if "!str:~0,1!"=="." (set "str=(!str:~1,3!)"&goto search)
if "!str:~1,1!"=="." (set "str=和  !str:~0,1!"&goto search)
if "!str:~2,1!"=="." (set "str=和 !str:~0,2!"&goto search)
if "!str:~1,1!"=="" (set "str=!str!月"&goto search)
if "!str:~2,1!"=="" (set "str=!str!月"&goto search)
if "!str:~3,1!"=="" (set "str= !str! "&goto search)
if "!str:~7,1!"=="" (set "str=第  !str!"&goto search)
:search
if not exist .\logs (md .\logs)
set ctp=.\logs\"!i!Src!str!.txt"
if exist !ctp! (if "!i!"=="1" (goto last))
echo  !i!级查询:"!str!">!ctp!
echo  ___________________________________________________________________________________________________________________________________________________________  _________________________________>>!ctp!
echo 丨     期号     丨   日期   丨 试机号丨 机丨   开奖号  丨            百位          丨            十位          丨            个位          丨和值 丨  路线 丨丨 销售金额    丨     中出        >>!ctp!
echo  ___________________________________________________________________________________________________________________________________________________________  _________________________________>>!ctp!
echo  ___________________________________________________________________________________________________________________________________________________________  _________________________________>>!ctp!
find "!str!" <!tp!>>!ctp!
echo  ___________________________________________________________________________________________________________________________________________________________  _________________________________>>!ctp!
:last
start !ctp!
goto mainA
丨第  2002001 期丨  11日 丨(526)丨2-2丨     073   丨百0                       丨十■■■■■■■7         丨个■■■3                 丨和 100,1,0
丨第  2002002 期丨  12日 丨(203)丨1-1丨     237   丨百■■2                   丨十■■■3                 丨个■■■■■■■7         丨和 122,0,1
REM 后边省略5000行数据,可由上一个批处理得到。
...COPY
这个查询的大致用法是
3D速查用法,查期数、年数、月数、开奖号码等直接输入数字即可查询;
查试机号需要在前面加个点,比如需要查询试机号为315的期数,应输入 ".315"  
查和值在数字后加个.比如需要查询和值为9的期数,应输入 "9."
查全奇号输入"."
查全偶号输入".."
查豹子号输入"..."
3D速查(自动递归)版,无需回车直接层层递归查询,无内容回车直接回到一级查询
3D速查则需要输入回车才能进入下一级查询,输入0才能回到一级查询
输入"sys"可以查看当前系统信息COPY
最后照猫画虎,改出双色球走势图的绘制bat
@echo off&title
setlocal enabledelayedexpansion
mode con lines=12 cols=50
color 0f
:main
echo 福彩·双色球 走势绘制
echo ...
::开始计时
set t1=!time:~-5!
::设置走势图变量
set "b01=  "
set "b02=  "
set "b03=  "
set "b04=  "
set "b05=  "
set "b06=  "
set "b07=  "
set "b08=  "
set "b09=  "
set "b10=  "
set "b11=  "
set "b12=  "
set "b13=  "
set "b14=  "
set "b15=  "
set "b16=  "
set "b17=  "
set "b18=  "
set "b19=  "
set "b20=  "
set "b21=  "
set "b22=  "
set "b23=  "
set "b24=  "
set "b25=  "
set "b26=  "
set "b27=  "
set "b28=  "
set "b29=  "
set "b30=  "
set "b31=  "
set "b32=  "
set "b33=  "
(
echo  ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
echo 丨     期号     丨   日期   丨         开奖号         丨  和 丨                                                           走势图                                                                 丨        出球顺序        丨                        销售详情                          
echo  ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
echo  ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
::以空格作为分隔符,从数据源文件截取元素
for /f "tokens=1-19" %%h in (ssq.TXT) do (
::求和
set /a "sum=10%%j+10%%k+10%%l+10%%m+10%%n+10%%o-6000"
set "su= !sum!"
::绘制走势图
set b%%j=%%j
set b%%k=%%k
set b%%l=%%l
set b%%m=%%m
set b%%n=%%n
set b%%o=%%o
::优化日月的显示
set "ye=%%i"
if "!ye:~5,1!"=="0" (set "mon= !ye:~6,1!") else (set "mon=!ye:~5,2!")
if "!ye:~8,1!"=="0" (set "da= !ye:~9,1!") else (set "da=!ye:~8,2!")
::销售详情,剔除投注为零的显示
if %%y equ 0 (set "tx=总计%%w元,奖池%%x元    头奖%%y注") else (set "tx=总计%%w元,奖池%%x元    头奖%%y注,每注%%z元")
if %%w equ 0 (set "tx=")
::表格输出
echo 丨第  %%h 期丨 !mon!!da!日 丨 %%j-%%k-%%l-%%m-%%n-%%o---%%p!su:~-3!.丨!b01!!b02!!b03!!b04!!b05!!b06!!b07!!b08!!b09!!b10!!b11!!b12!!b13!!b14!!b15!!b16!!b17!!b18!!b19!!b20!!b21!!b22!!b23!!b24!!b25!!b26!!b27!!b28!!b29!!b30!!b31!!b32!!b33!丨* %%q%%r%%s%%t%%u%%v!tx!
::初始化变量
set "b%%j=  "
set "b%%k=  "
set "b%%l=  "
set "b%%m=  "
set "b%%n=  "
set "b%%o=  "
)
echo  ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
)>tdb
for /f %%a in ('find /c /v ""^<ssq.TXT') do (set/a i=%%a,l=i-1)
for /f "tokens=1" %%a in ('more +!l! ssq.TXT') do (set/a head2=%%a)
(set /p head1=)<ssq.TXT
(
echo 福彩·双色球开奖数据
echo;
echo  第!head1:~0,7!期 ~ 第!head2!期    共计!i!期         *代表出球顺序
)>tdh &copy /b tdh+tdb 双色球走势图.txt 1>NUL 2>NUL
::结束计时
set t2=!time:~-5! &set/a "t=1!t2:.=!-1!t1:.=!" &if !t! lss 0 (t+=6000)
echo 用时!t:~0,-2!!t:~-2!0毫秒
start .\双色球走势图.txt
del tdb &del tdh
set/p=COPY
2

评分人数

有这么无聊吗汗,不过正需要哈哈,已收藏
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 6# codegay
3d中奖率还是蛮高的,只是奖金小,我玩双色球、大乐透比较多,但是中奖率都在数千万分之一,真的是看命了。

TOP

回复 4# happy886rr


    彩票本来就多黑幕,网络彩票被整治之前两个月,那时支付宝什么的都可以直接买,我每天都买几个块钱消解焦虑,虽然理智上知道不太可能中大奖,知道会亏。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 3# pcl_test
恩,更好,数据每天都在更新。

TOP

回复 3# codegay
献丑之作,研究好久彩票,就是不中大奖,没事干随便写了个走势图,网页在线走势图反应慢,这个txt图能展示所有期数。

TOP

太NB           。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

把数据也一并下了
mshta http://bathome.net/s/hta/ web('http://www.17500.cn/getData/3d.TXT')>3d.TXT
mshta http://bathome.net/s/hta/ web('http://www.17500.cn/getData/ssq.TXT')>ssq.TXTCOPY
1

评分人数

TOP

返回列表