python - 如何生成游戏图钉
问题描述
我正在开发一款需要游戏 PIN 才能加入的游戏,我想在这方面类似于 Kahoot。例如 KA1PN2XR。我想把它做成 8 个字符和字母数字,所以我不担心组合用完,因为它们有 36^8 或大约 2.8 万亿(大写字母),一旦每个人都离开,游戏就会被删除。
但是,我想知道生成这些引脚的有效方法是什么?我应该使用生成一个的while循环,直到找到一个不在数据库中的循环?似乎效率低下,但我想不出更好的方法。
谢谢。
解决方案
你可以用一个简单的函数来做到这一点:
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()
推荐阅读
- pyroot - 使用 PyROOT 读取 TTree 分支
- apache-spark - 如何有效地广播 RDD 的内容
- css - 集中显示页脚内容
- mongodb - MongoDB 分片路由器是否操纵 $in 查询?
- java - Tomcat 服务器未从 Mac 中的 Eclipse Oxygen 启动
- python - 使用 for 循环更新 Tkinter 中的标签
- boost-asio - boost::asio::ip::udp::socket 创建 - 编译错误 - 调用 boost::asio::ip::udp::socket(*my_io_service, server_endpoint);
- ios - 修改从字符串到字符串的切片函数以在未找到字符串时返回最后一个索引
- angular - 如何在材料表Angular 5中创建自定义箭头
- selenium - 如何在nerodia(watir)中捕获失败的登录?