import streamlit as st from datasets import load_dataset import os import sys import requests import progressbar import numpy as np import pandas as pd import numpy as np import random import time # Set the app title st.title('Siêu phẩm dự đoán lô đề') # Add a welcome message st.write('Dự đoán lô đề dựa vào kết quả xổ số miền Bắc') st.write('Cờ bạc là hành vi bị pháp luật nghiêm cấm, chơi cờ bạc ảnh hưởng xấu tới gia đình và xã hội. Vậy chúng ta vui thôi, đừng vui quá!') st.write('Dự đoán có tính chất tham khảo, giúp gia đình và xã hội bớt rủi ro có thêm 1 con nợ.') def getTop(plist): rt = [] grt = 0 #st.write(len(plist)) while grt < 3: start = 0 tmp = 0 x = 0 while x < len(plist): if plist[x] >= start: if x not in rt: start = plist[x] tmp = x x += 1 #st.write(tmp) rt.append(tmp) grt += 1 return rt # Create a text input #user_input = st.text_input('Enter a custom message:', 'Hello, Streamlit!') # Display the customized message #st.write('Customized Message:', user_input) click = 0 st.html("

Lựa chọn môn thể thao muốn chơi hôm nay nào:

") first_button = st.button("Đê huyền đề",type='primary') second_button = st.button("Đoán lô",type="secondary") kt = "1" lo_rs = [] de_rs = [] if first_button: click = 1 st.html( "

Oánh đề à?
Thử đoán xem có trúng không nhé?

" ) kt = "1" elif second_button: click = 1 st.write("Oánh lô nhé") st.html( "

Hôm nay chọn chơi lô à?
Ăn nhớ báo nhé.

" ) kt = "2" path = os.getcwd() print(de_rs) print(lo_rs) if click == 1 and kt == "1" and len(de_rs) > 2: click = 0 loadbar = st.progress(0,"Chuẩn bị mở bát") t = 1 while t <= 10: if t < 7: loadbar.progress(t,"Đang mở bát được - "+str(t*100/10)+"% - hồi hộp không?") time.sleep(1) elif t < 10: loadbar.progress(t,"Đang mở bát được - "+str(t*100/10)+"% - hồi hộp không?") time.sleep(2) else: loadbar.progress(t,"Đã xong") st.write("\nKẾT QUẢ DỰ ĐOÁN ĐỀ NGÀY HÔM NAY\n") st.write("Kết quả dự đoán gồm 3 số: "+str(de_rs)+"") t += 1 elif click == 1 and kt == "2" and len(lo_rs) > 2: click = 0 loadbar = st.progress(0,"Chuẩn bị mở bát") t = 1 while t <= 10: if t < 7: loadbar.progress(t,"Đang mở bát được - "+str(t*100/10)+"% - hồi hộp không?") time.sleep(1) elif t < 10: loadbar.progress(t,"Đang mở bát được - "+str(t*100/10)+"% - hồi hộp không?") time.sleep(2) else: loadbar.progress(t,"Đã xong") st.write("\nKẾT QUẢ DỰ ĐOÁN LÔ NGÀY HÔM NAY\n") st.write("Kết quả dự đoán gồm 3 số: "+str(lo_rs)+"") t += 1 #st.write('Current Path:', path) if click == 1: st.write("Quá trình tổng hợp dữ liệu ...") rolldate = [] results = [] maxdate = "" maxid = "" lastresult = [] baseurl = "https://github.com/khiemdoan/vietnam-lottery-xsmb-analysis/raw/main/data/xsmb.csv" url = baseurl i = 1 FILE_TO_SAVE_AS = path+"/xsmb.txt" # the name you want to save file as resp = requests.get(url) # making requests to server with open(FILE_TO_SAVE_AS, "wb") as f: f.write(resp.content) # writing content to file #if os.path.isfile(FILE_TO_SAVE_AS): # st.write("File exists") # st.write(os.path.getsize(FILE_TO_SAVE_AS)) #else: # st.write("Không có file") fo = open(FILE_TO_SAVE_AS) i = 1 lines = fo.readlines() bar = progressbar.ProgressBar(maxval=len(lines), \ widgets=[progressbar.Bar('=', '[', ']'), ' ', progressbar.Percentage()]) bar.start() lx = 0 #results = [] for l in lines: if lx > 0: rss = l.split(",") maxdate = rss[0] lastresult = [] for x in rss: if x != maxdate: lastresult.append(str(x.strip())) rolldate.append(maxdate) results.append(lastresult) bar.update(i+1) lx += 1 fo.close() bar.finish() rs = [] rd = [] i = 366 while i > 0 : #print(results[len(results)-i]) rd.append(rolldate[len(rolldate)-i]) rs.append(results[len(results)-i]) i = i - 1 results = rs rolldate = rd randFix = random.randint(0,999999) #st.write(str(len(rolldate))) #st.write(str(len(results))) st.write("Kỳ quay cuối cùng ngày: "+maxdate+" - kết quả: "+str(lastresult)) st.write("Kết thúc tổng hợp dữ liệu") st.write("Bắt đầu quá trình dự đoán...") loadrs = path+"/xsmb_"+str(randFix)+".txt" ws = open(loadrs,"w+") if kt == "1": i = 0 ws.write("special\n") while i < len(rolldate): if len(results[i])==27: vdata = results[i][0] vdata = vdata.strip()+"\n" ws.write(vdata) i += 1 ws.close() #st.write("Lọc dữ liệu hoàn thành") else: i = 0 ws.write("special\tprize1\tprize2_1\tprize2_2\tprize3_1\tprize3_2\tprize3_3\tprize3_4\tprize3_5\tprize3_6\tprize4_1\tprize4_2\tprize4_3\tprize4_4\tprize5_1\tprize5_2\tprize5_3\tprize5_4\tprize5_5\tprize5_6\tprize6_1\tprize6_2\tprize6_3\tprize7_1\tprize7_2\tprize7_3\tprize7_4\n") while i < len(rolldate): if len(results[i])==27: vdata = "" for rs in results[i]: vdata += "\t"+str(int(rs.strip()) % 100) vdata = vdata.strip()+"\n" ws.write(vdata) i += 1 ws.close() #st.write("Lọc dữ liệu hoàn thành") data = np.loadtxt(loadrs,delimiter="\t",dtype="int",skiprows=1) #st.write(data) X = [] #nếu là đề, chỉ lấy danh sách kết quả đề if kt == "1": rs1 = data.tolist() rs = [] for rx in rs1: rs.append(int(rx)%100) else: #nếu là lô lấy tất tần tật X = data[1:, :] str(X) rs = [i for z in X.tolist() for i in z] #st.write(rs) #tạo ds kết quả results = [] #add sẵn mỗi số 1 lượt z1 = 0 while z1 < 100: results.append(z1) z1 += 1 #add kết quả thực vào danh sách kết quả, nếu là đề mỗi kết quả bổ sung 10 lượt, và 1 lượt cho 2 vị trí liền kề, nếu là lô bổ sung mỗi kết quả 4 lượt #for r in rs: idx = 0 h = 1 lenrs = len(rs)-1 while idx < len(rs): if kt == "1": if idx == (-1 + 7*h): results.append(int(rs[lenrs-idx])-1) results.append(int(rs[lenrs-idx])+1) ii = 0 while ii < 25: results.append(int(rs[lenrs-idx])) ii += 1 h += 1 else: results.append(int(rs[lenrs-idx])-1) results.append(int(rs[lenrs-idx])+1) ii = 0 while ii < 10: results.append(int(rs[lenrs-idx])) ii += 1 #h += 1 else: if idx >= (-1 + 7*h)*27 and idx < 7*h*27 + 1: ii = 0 while ii < 7: results.append(int(rs[lenrs-idx])) ii += 1 if idx == 7*h*27: h += 1 else: ii = 0 while ii < 3: results.append(int(rs[lenrs-idx])) ii += 1 idx = idx + 1 #chạy lấy danh sách ngẫu nhiên runiter = len(results)*10 zz = 0 countTot = [] #danh sách đếm #results = [] randList = [] #danh sách random số randCount = [] #danh sách random số và số lượt lấy ngẫu nhiên #st.write(len(results)) runbar = st.progress(0.0, "Chuẩn bị dự đoán") while zz < runiter: rand = random.randint(0,len(results)-1) #lấy ngẫu nhiên 1 số thuộc vị trí ds kết quả if rand not in randList: randList.append(rand) #add vào ds random số nếu chưa có randCount.append([rand,1]) #add vào danh sách số và số lượt đếm bằng 1 else: idx = randList.index(rand) randCount[idx][1] = randCount[idx][1]+1 # cộng thêm 1 lượt vào randCount run_percentage = round(zz/runiter,2) if run_percentage < 1.0: runbar.progress(run_percentage,text="Chờ tí, đang chạy dự đoán rồi nhá, đừng nóng ruột. Muốn nhanh phải từ từ") else: runbar.progress(run_percentage,text="Xong rồi đấy, chờ tí, có kết quả ngay đây.") zz += 1 #print("Xong randCount") tmp = 0 for z in randCount: tmp = int(z[1]) countTot.append(tmp) getRS = getTop(countTot) if kt == "1": st.write("\nKẾT QUẢ DỰ ĐOÁN ĐỀ NGÀY HÔM NAY\n") else: st.write("\nKẾT QUẢ DỰ ĐOÁN LÔ NGÀY HÔM NAY\n") for rs in getRS: #st.write(countTot[rs]) st.write("Kết quả dự đoán lần "+str(getRS.index(rs)+1)+": "+str(results[rs])+"") if kt == "1": de_rs.append(results[rs]) print(de_rs) else: lo_rs.append(results[rs]) print(lo_rs) os.system("rm "+loadrs) st.html( "

Này này, chơi mà trúng là phải chia lộc đấy nhé, ghi log hết rồi nhé, nuốt hết là ko trôi đâu.

" + "" ) st.link_button("Chia lộc ở đây", "https://www.paypal.com/ncp/payment/MHKWQ9BEP2Y34")