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] \
python生成1到100之间随机数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)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。