首页 > 解决方案 > 如何生成游戏图钉

问题描述

我正在开发一款需要游戏 PIN 才能加入的游戏,我想在这方面类似于 Kahoot。例如 KA1PN2XR。我想把它做成 8 个字符和字母数字,所以我不担心组合用完,因为它们有 36^8 或大约 2.8 万亿(大写字母),一旦每个人都离开,游戏就会被删除。

但是,我想知道生成这些引脚的有效方法是什么?我应该使用生成一个的while循环,直到找到一个不在数据库中的循环?似乎效率低下,但我想不出更好的方法。

谢谢。

标签: python

解决方案


你可以用一个简单的函数来做到这一点:

import random
w_list = 'abcdefghijklmnopqrstuvwxyz1234567890' #characters you want in string
def generate_pin(length=8):
    tp = random.sample(w_list, length)
    pin = ''.join(tp)
    if pin not in prev_list: #list of already generated pins
       prev_list.appen(pin)
       return pin
    else:
       generate_pin()

推荐阅读