Đây là kết quả Vietlott Mega 6/45 trong 100 kỳ gần nhất, đã được sắp xếp theo thứ tự từ mới đến cũ:
drawlResults = [["05","09","14","22","32","44"],["19","24","27","37","44","45"],["13","15","17","22","28","43"],["01","07","09","34","40","42"],["08","27","28","31","34","40"],["06","07","08","09","12","29"],["03","07","32","37","42","45"],["01","17","26","33","36","44"],["08","11","31","35","36","45"],["04","08","09","10","20","34"],["07","12","23","34","42","43"],["05","07","14","26","29","44"],["05","20","21","22","29","44"],["05","08","12","16","28","32"],["13","14","18","25","30","32"],["01","13","14","26","37","43"],["05","08","11","22","41","44"],["03","05","06","13","18","22"],["02","13","24","25","28","38"],["08","14","15","22","31","34"],["14","15","33","38","42","45"],["05","07","22","28","29","34"],["17","24","25","30","35","39"],["05","06","08","09","36","45"],["31","32","34","41","42","45"],["12","23","27","28","29","43"],["02","12","14","16","38","45"],["07","11","13","16","28","30"],["19","26","30","32","36","42"],["10","11","30","33","44","45"],["08","11","12","20","25","32"],["10","22","32","37","41","43"],["08","24","30","33","42","45"],["10","11","14","16","21","29"],["02","13","15","16","18","20"],["10","12","15","17","24","33"],["04","09","19","20","30","42"],["01","06","10","11","25","29"],["11","19","26","28","35","40"],["06","08","10","27","28","32"],["07","19","31","39","42","43"],["08","16","22","27","31","34"],["04","05","25","27","35","39"],["04","06","09","14","25","41"],["15","20","22","29","32","36"],["02","15","16","32","42","45"],["05","08","09","11","20","29"],["01","07","11","22","31","34"],["03","21","26","29","32","33"],["05","06","10","19","32","38"],["02","12","22","31","34","35"],["02","06","08","10","23","33"],["02","09","12","14","41","44"],["02","04","08","28","42","44"],["02","03","17","33","37","38"],["02","07","15","37","41","42"],["06","12","21","27","34","41"],["14","20","25","28","36","40"],["05","08","19","31","34","43"],["01","10","13","24","25","33"],["08","13","20","25","28","39"],["15","16","24","27","31","44"],["06","09","12","21","28","33"],["03","07","12","16","26","34"],["01","10","20","22","23","36"],["03","07","29","36","37","44"],["02","10","17","23","29","33"],["01","13","24","26","27","37"],["08","14","18","26","34","42"],["07","14","19","24","34","36"],["15","17","25","29","33","35"],["12","15","33","35","37","45"],["06","21","24","31","42","44"],["05","14","15","21","33","36"],["01","14","15","19","38","40"],["04","16","24","29","31","37"],["11","17","29","31","38","42"],["08","13","31","36","37","40"],["03","23","28","35","39","42"],["03","07","11","12","13","40"],["11","15","18","27","34","37"],["01","02","03","11","25","37"],["01","04","05","16","20","22"],["20","22","23","32","35","40"],["04","13","20","29","32","37"],["18","21","28","29","33","45"],["03","10","31","32","34","40"],["22","27","28","31","37","44"],["06","23","24","25","26","34"],["13","19","20","22","24","37"],["04","14","19","23","24","37"],["07","10","13","17","21","45"],["11","19","26","28","29","43"],["14","18","20","22","34","45"],["07","14","33","36","42","43"],["08","10","21","32","39","44"],["05","06","11","23","31","36"],["03","07","16","17","41","42"],["01","06","18","25","39","44"],["10","23","25","27","31","37"]];
Dựa trên drawlResults, hãy dùng Python tự tính toán và xuất ra 10 bộ số bao gồm 7 số từ 01 đến 45 có khả năng xuất hiện nhất, tạm gọi là forecastList. Các bộ số phải thỏa mãn các điều kiện sau đây:
0. Định nghĩa biến:
Đặt maxCreate = 10 là giới hạn số bộ số cần tạo.
Đặt maxAttempts = 10000 để không lặp vô hạn.
Đặt number_1to9 là các số có trong kỳ 1 đến 9.
Đặt number_10to60 là các số có trong kỳ 10 đến 60, nhưng loại toàn bộ các số đã có trong number_1to9.
Đặt results_1to15 là các kỳ trong drawlResults từ 1 đến 15.
1. Chạy với một seed cố định là 1 để có kết quả nhất quán, tối ưu code để có hiệu suất nhanh nhất.
2. Tính toán tần suất của các số trong drawlResults, số dự đoán ưu tiên các số có tần suất trung bình (trung vị) từ đến tần suất cao trong danh sách tần suất (ưu tiên các số có tần suất trung bình)
3. Số dự đoán có 5 số đã xuất hiện trong number_1to9 và 5 số này thuộc ít nhất 3 kỳ khác nhau, trong 5 số này không trùng quá 2 số trong 1 dãy 6 số của results_1to15, kiểm tra trong hàm riêng biệt trước khi thêm số thứ 6
4. Bổ sung số 2 số thứ 6, 7 nằm trong number_10to60.
5. Phân bổ đồng đều số lượt sử dụng số thứ 6, 7 giữa các dãy số trong forecastList.
6. Số dự đoán không có quá 3 số trùng với 1 kết quả có trong drawlResults
7. Mỗi số dự đoán không trùng quá 2 số với 1 kết quả đã dự đoán trong forecastList
8. Số hàng chục phải thuộc ít nhất 4 đầu số khác nhau.
9. Hiển thị các số có tần suất trung bình (trung vị) từ đến tần suất cao
10. Hiển thị ra cho tôi dãy số đã dự đoán, số xếp từ nhỏ đến lớn, số phải bao gồm 2 chữ số (ví dụ 1 =>01)
Câu lệnh 2: Nếu AI không hiển thị số dự đoán, nhắc lại:
In ra cho tôi dãy số dự đoán forecastList, tôi không có môi trường phù hợp.