内容每5分钟更新
客服QQ:4008017500
乐彩论坛静态版乐彩论坛静态版 AI辅助彩票研究专题(...
共19条1页 30条/页首页上一页第1页下一页尾页
点击:   回复:1276 关闭此页

AI辅助彩票研究专题(七)编程小白的彩民福音来了,TRAE帮你玩彩票

楼主
  杨哥哥儿 | 发表于2025-07-12 16:26:17
AI辅助彩票研究专题(七)编程小白的彩民福音来了,TRAE帮你玩彩票
在专题一我给大家推荐了开发工具Anaconda,这个开发工具好是好,就是大多数人没学过python,不知道如何编程,望而生畏。
今天给大家一个不用学python就能使用AI生成你需要的彩票程序代码的工具,字节公司的优秀作品:trae,一个AI编程工具。
安装方法如下:
如果你以前安装过Anaconda,那么python环境就有现成的了,不用再安装python,如果没有安装过任何编程环境,就需要先安装python环境,再安装trae。
1.‌安装Python‌:从 Python官网 下载安装包,按提示完成安装,安装时勾选 "Add Python to PATH" 。
2.到官网下载trae,网址为trae.ai,或者网上搜索。
3.下载完成后,直接双击就可以安装。
4.安装完成后,使用 Trae AI 功能需要登录账号,使用手机号码注册一个即可。
5.打开后进入Builder 模式,从零构建项目。具体操作方法在网上搜索帖子:“Trae AI 保姆级教程:从安装到调试全流程指南”,按上面的操作一步步的来即可。

下面开始教你如何不写一行代码完成彩票的计算。
第一步,在电脑上新建一个文件夹,取英文名,如mylott,或者f3d都可以。不要以数字开头。
第二步,打开trae,打开刚刚建立的文件夹,这时界面分为左中右三部分,在右边选择进入Builder 模式。
第三步,开始对话。我把的对话内容全部复制在下方,你可以先一行行地输入到对话框,看看trae是如何一步步完成你要求的工作的。
1.使用python从 http://data.17500.cn/3d_asc.txt 下载福彩三D开奖数据,打印最近30期的开奖号码,支持中文字符显示。
2.将最近30期的开奖号码储存一个数组中,先对30期的每期3个开奖号进行升序排序,最大数+2,中间数+1,再对这30期的每期3个排序后的号依次+12和+24。每行共生成9个数。
3.把30行9列数组中每行大于5且小于30的数重新组合成一个新数组,这个数组每行有且仅有6列,再打印。
4.对30行6列数组的数输出为X轴为期数、Y轴为号码的网格点阵图。Y轴最大值为30,最小值为5。
5.增加连线规则,本行的6个数与前一行比较,如果两行中各有一个数,它们的差的绝对值小于或等于1,则这两个数连线。
6.增加连线规则,每行的6个数之间差值=1的也连线。

这样你没有写一行代码,trae就帮助你完成了一个彩票的计算绘图程序。是不是爽!
特别提示,如果在程序运行中,发现有必要的安装包未安装(如导入matplotlib库用于绘图),程序会提示你安装,你按照提示一步步操作即可。

AI自动生成的程序源代码在二楼。
1楼
  杨哥哥儿 | 发表于2025-07-12 16:26:35

code:
import os
import sys
import matplotlib.pyplot as plt
import numpy as np

# 设置标准输出编码为utf-8以解决中文乱码
sys.stdout.reconfigure(encoding='utf-8')

def print_recent_lottery_results(file_path, num_recent=50):
try:
with open(file_path, 'r', encoding='utf-8') as file:
lines = file.readlines()
valid_lines = [line.strip() for line in lines if line.strip()]
recent_lines = valid_lines[-num_recent:]

#print(f"最近{num_recent}期福彩3D开奖号码:\n")
results_array = [] # 存储30行9列结果的数组

for line in recent_lines:
parts = line.split()
if len(parts) >= 5:
period = parts[0]
date = parts[1]
# 提取原始号码并转换为整数
original_nums = list(map(int, parts[2:5]))
# 对号码进行升序排序
sorted_nums = sorted(original_nums)
# 调整排序后的号码:中间数+1,最大数+2
adjusted_nums = [sorted_nums[0], sorted_nums[1] + 1, sorted_nums[2] + 2]
# 计算+12和+24的号码
plus12_nums = [num + 12 for num in adjusted_nums]
plus24_nums = [num + 24 for num in adjusted_nums]
# 合并为9列数据并添加到结果数组
full_row = adjusted_nums + plus12_nums + plus24_nums
results_array.append(full_row)
# 打印号码信息
#riginal_str = ' '.join(map(str, original_nums))
#sorted_str = ' '.join(map(str, sorted_nums))
#adjusted_str = ' '.join(map(str, adjusted_nums))
#print(f"期号:{period} 日期:{date} 原始号码:{original_str} 排序后:{sorted_str} 调整后:{adjusted_str}")

# 打印30行9列数组结果
#print("\n生成的30行9列数组:")
#for i, row in enumerate(results_array, 1):
# print(f"第{i}期: {row}")

# 生成6列新数组(筛选5 new_array = []
for row in results_array:
# 筛选大于5且小于30的数
filtered_nums = [num for num in row if 5 < num < 30]
# 确保恰好6列,不足则用0填充,超过则取前6个
new_row = filtered_nums[:6] + [0]*(6 - len(filtered_nums[:6]))
new_array.append(new_row)

# 打印6列新数组
#print("\n生成的30行6列新数组(仅包含5 #for i, row in enumerate(new_array, 1):
# print(f"第{i}期: {row}")

# 绘制网格点阵图
plt.rcParams["font.family"] = ["SimHei", "Microsoft YaHei", "SimSun"] # 设置中文字体
plt.figure(figsize=(15, 8))

# 准备数据
points = [] # 存储每期每列的点坐标 (period, num)
x = []
y = []
for period_idx, row in enumerate(new_array):
period = period_idx + 1 # 期数从1开始
current_points = []
for num in row:
if num != 0:
current_points.append((period, num))
x.append(period)
y.append(num)
else:
current_points.append(None) # 用None表示0值
points.append(current_points)

# 绘制散点图
plt.scatter(x, y, color='blue', s=50, alpha=0.7)

# 新增:同一行内数值差=1的连线
for period_idx in range(len(points)):
current_period = points[period_idx]
for col in range(len(current_period) - 1):
p1 = current_period[col]
p2 = current_period[col + 1]
if p1 and p2 and abs(p1[1] - p2[1]) == 1:
plt.plot([p1[0], p2[0]], [p1[1], p2[1]], 'gray', linewidth=0.5)

# 原有:相邻行数值差绝对值≤1的连线
for period_idx in range(1, len(points)): # 从第二期开始
prev_points = [p for p in points[period_idx-1] if p is not None]
curr_points = [p for p in points[period_idx] if p is not None]

# 比较前一行和当前行的所有点对
for p_prev in prev_points:
for p_curr in curr_points:
if abs(p_prev[1] - p_curr[1]) <= 1:
plt.plot([p_prev[0], p_curr[0]], [p_prev[1], p_curr[1]], 'gray', linewidth=0.5)

# 设置网格
plt.grid(True, linestyle='--', alpha=0.7)

# 设置坐标轴
plt.xlabel('期数', fontsize=12)
plt.ylabel('号码', fontsize=12)
plt.title('50期开奖号码排序网格点阵图', fontsize=15)

# 设置X轴和Y轴范围
plt.xlim(0, 51)
plt.ylim(5, 30)

# 显示图形
plt.show()
except FileNotFoundError:
print(f"错误:文件 '{file_path}' 未找到。")
except Exception as e:
print(f"处理文件时出错:{str(e)}")

if __name__ == "__main__":
data_file = "3d_asc.txt"
print_recent_lottery_results(data_file)


2楼
  杨哥哥儿 | 发表于2025-07-12 16:28:11
下期再给大家如何使用这张图来进行AI分析:如聚类、主因子、预测等。
3楼
  杨哥哥儿 | 发表于2025-07-12 16:35:29
当然。程序如果出错,你把错误提示也发给它,它会自动修改程序直到能正常运行。
4楼
  duy3 | 发表于2025-07-12 17:05:16
5楼
  无花无酒 | 发表于2025-07-12 17:15:06
杨哥儿,现在你这个AI 可以预测多少注 大底了?正确率 多少?
6楼
  杨哥哥儿 | 发表于2025-07-12 17:20:11
@无花无酒 不稳定,时好时坏。但我思路实现起来快多了。
7楼
  小魔女你在哪里 | 发表于2025-07-12 17:22:11
8楼
  杨哥哥儿 | 发表于2025-07-12 19:09:40

看看这个点阵图,你发现规律了没有,就在刚才的程序中加了一个条件。
9楼
  杨哥哥儿 | 发表于2025-07-12 19:20:47

如果使用拓扑学方法分析,会用什么样的结果呢?
10楼
  包租婆怎么没水了 | 发表于2025-07-12 22:07:14
诺,什么叫专业!大佬就是大佬
11楼
  秦安 | 发表于2025-07-12 22:53:06
12楼
  坚强才能飞翔 | 发表于2025-07-14 18:56:16

数学,
思路,
建模,
软件,
代码.
每一步都需要我们去跨越!
感谢杨哥哥的引领。
13楼
  杨哥哥儿 | 发表于2025-07-14 21:28:19

看看今天的图,你是否发现规律了?是不是有点像堪舆图?
14楼
  杨哥哥儿 | 发表于2025-07-14 21:30:57
今天开146,转换成12选3就是158。
15楼
  彩界博主 | 发表于2025-07-15 01:05:51
就是不会写代码啊,我是有好的思路呢?手动做号太麻烦了而且还废纸费脑子掉头发啊
16楼
  杨哥哥儿 | 发表于2025-07-15 08:28:12


贵在思路,你组织好语言,让AI能懂得你的意思,然后AI就会严格按照你思维写代码并运行出结果。
17楼
  彩界博主 | 发表于2025-07-15 17:38:08
有那么厉害啊
18楼
  三界之主 | 发表于2025-07-15 21:55:48
共19条1页 30条/页首页上一页第1页下一页尾页
参与原帖交流,请访问:

http://bbs.17500.cn/thread-11959961-1-1.html

访问本站表明您同意:本站提供的资料和数据仅供您参考,请您在使用前核实并慎重对待,因此受到的任何损失,乐彩网不承担任何责任。
© 2004-2025 版权所有 京ICP备13046446号-1 | 京公网安备11011202001644号