使用Python生成符合双色球格式的内容
import random
from pymongo import MongoClient
def generate_red_numbers():
red_pool = list(range(1, 34))
red_numbers = []
for _ in range(5):
'''
从1-33中随机取出一个数,一共取5次,为防止取到相同号码,
每个号码取完之后,使用remove()将其从列表中删除
'''
number = random.choice(red_pool)
red_numbers.append(number)
red_pool.remove(number)
red_numbers.sort()
return red_numbers
def generate_blue_number():
return random.randint(1, 17)
def generate_lottery_numbers():
red_numbers = generate_red_numbers()
blue_number = generate_blue_number()
return red_numbers, blue_number
def save_to_mongodb(ticket):
client = MongoClient("mongodb://localhost:27017/")
db = client["lottery_database"]
collection = db["lottery_collection"]
data = {
"红色号码1": ticket[0],
"红色号码2": ticket[1],
"红色号码3": ticket[2],
"红色号码4": ticket[3],
"红色号码5": ticket[4],
"蓝色号码": ticket[5]
}
collection.insert_one(data)
client.close()
def main():
num_tickets = int(input("请输入要生成的双色球号码数量:"))
generated_tickets = set() # 用于存储已经生成的号码组合
while len(generated_tickets) < num_tickets:
red_numbers, blue_number = generate_lottery_numbers()
ticket = tuple(red_numbers + [blue_number])
# 检查是否已经生成了相同的号码组合
if ticket not in generated_tickets:
generated_tickets.add(ticket)
save_to_mongodb(ticket)
if __name__ == "__main__":
main()ChatGPT解析
最后更新于