python 随机生成数字与输入数字比较_生成随机数,怎么留下一些比较顺的数字。...

参考楼上各位回答,需要明确的是以下两个问题

1. 对于好号码的定义,就像AntonyBi所讲『什么样的号码才是好的号码』

2. 如何筛选(生成好号码)

对于问题一。我认为可以直接参考已有的规则(规则针对的是手机号的尾号),毕竟号码的好坏是人的感受。

另外规则不用定太多,链接中的有九条规则,保证了通常来讲最『顺』的号码另作分配,同时用户有可能获得规则外的相对『好』的号码,比如用户在申请时可以随机获得ABAC这样的号码。

对于问题二。

针对普通用户

第一步,随机生成号码。

第二步,判断生成的号码是不是『好』号码。

第三步,是好号码的话,回到第一步,不是到第四步

第四步,返回(返回后需要判断号码有没有被使用)

//假设低级用户可用ABC(123,234,345,...),高级用户可用ABCDE(12345,23456,...)

针对付费用户

第一步,看等级

第二步,根据等级(比如说低级),生成一个或多个随机数(比如说生成的是2,那么ABC就是234)

第三步(可选),看该数符不符合高级用户的规则,符合回到第二步,不符合到第四步

第四步,返回(返回后需要判断号码有没有被使用)

写了个demo判断生成的号码是不是好号码。其他语言的实现也会类似吧。

# required para:num,type list of int

def is_charm_num(num):

def is_AAAA(num):

return num[-4] == num[-3] \

and num[-4] == num[-2]\

and num[-4] == num[-1]

def is_ABCDE(num):

return num[-5] + 1 == num[-4] \

and num[-5] + 2 == num[-3] \

and num[-5] + 3 == num[-2] \

and num[-5] + 4 == num[-1]

def is_ABABAB(num):

return num[-6] == num[-4] \

and num[-6] == num[-2] \

and num[-5] == num[-3] \

and num[-5] == num[-1]

return is_AAAA(num) or is_ABABAB(num) or is_ABCDE(num)

if __name__ == '__main__':

num = 12345678

num_list = []

#num_list = map(int,str(num))

for n in str(num):

num_list.append(int(n))

is_charm_num(num_list)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值