用python 實現生成雙色球小程序


生成雙色球小程序:
#輸入n,隨機產生n條雙色球號碼,插入n條數據庫
#表結構: seq
CREATE TABLE `seq` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`red` varchar(100) NOT NULL,
`blue` varchar(20) NOT NULL,
`date` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
##“雙色球”每注投注號碼由6個紅色球號碼和1個藍色球號碼組成。紅色球號碼從1--33中選擇;藍色球號碼從1--16中選擇。
#05 09 10 12 17 19 13

 1 import random,pymysql,time
 2 #處理球的號碼,如果數字是1-9,則在前面加0,-> 09
 3 def process_num(num):
 4     if num in range(1,10):
 5         num = str(num)
 6         new_num = '0' + num
 7     else:
 8         new_num = str(num)
 9     return  new_num
10 def op_mysql(ball_list):
11     conn = pymysql.connect(host='localhost',user='root',passwd='123456',port=3306,db='sakila',charset='utf8')
12     cur = conn.cursor()
13     sql = "insert into seq(red,blue,date) values(%s,%s,%s)"
14     cur.executemany(sql,ball_list) #批量執行
15     conn.commit()
16     cur.close()
17     conn.close()
18 def generate_ball(count):
19     red_ball = process_num(random.randint(1,34))
20     blue_ball = process_num(random.randint(1,17))
21     red_balls = [process_num(x) for x in range(1,34)] # 返回紅球01-33的list
22     blue_balls = [process_num(x) for x in range(1,17)] # 返回藍球01-16的list
23     ball_list = []
24     for i in range(count):
25         red_num = random.sample(red_balls, 6)  # 隨機生成6位紅球list
26         blue_num = random.sample(blue_balls, 1)
27         cur_time = time.strftime('%Y-%m-%d %H:%M:%S')#當前時間格式化
28         ball = (','.join(red_num),blue_num, cur_time)# 將紅,藍球,時間加入元祖
29         ball_list.append(ball) # 把每個結果加入list,[('25,18,23,28,24,19', '07', '2018-01-22 22:05:03'), ('16,23,27,07,31,21', '04', '2018-01-22 22:05:03')]
30     op_mysql(ball_list)
31 
32 if __name__ =='__main__':
33     count = int(input('請輸入你想生成的雙色球號碼數量:').strip())
34     generate_ball(count)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM