zoukankan      html  css  js  c++  java
  • 随机产生一个手机号,保证不重复

    import random
    import os.path
    
    def get_mobile_no(mobile_no_file_path):
    
        mobile_no =""
        prifix =[135,136,137,138,150,159,188]
    
        while 1:
    #随机选择一个开头 mobile_prifix
    =random.choice(prifix)
    #随机生成后八位 mobile_postfix
    =random.randint(10000000,99999999)
    #拼接 mobile_no
    =str(mobile_prifix)+str(mobile_postfix)
    #判断文件是否存在
    try: with open(mobile_no_file_path,"a+") as fp:
    #判重逻辑
    if mobile_no in fp.read(): continue
    #写入文件 fp.write(mobile_no+" ") break except Exception as e: with open("no.txt","a+") as fp: if mobile_no in fp.read(): continue fp.write(mobile_no+" ") break return mobile_no print(get_mobile_no("d:\no2.txt"))

    生成八位随机数也可以用zfill

    Python zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。

    代码改动:

    import random
    import os.path
    
    def get_mobile_no(mobile_no_file_path):
    
        mobile_no =""
        prifix =[135,136,137,138,150,159,188]
    
        while 1:
            mobile_prifix =random.choice(prifix)
            mobile_postfix =str(random.randint(0,99999999)).zfill(8)#从0开始,用zfill生成八位数
            mobile_no =str(mobile_prifix)+str(mobile_postfix)
            try:
                with open(mobile_no_file_path,"a+") as fp:
                    if mobile_no in fp.read():
                        continue
                    fp.write(mobile_no+"
    ")
                    break
            except  Exception as e:
                with open("no.txt","a+") as fp:
                    if mobile_no in fp.read():
                        continue
                    fp.write(mobile_no+"
    ")
                    break
        return mobile_no
    
    print(get_mobile_no("d:\no2.txt"))

    遗留问题:用列表序列化做?

  • 相关阅读:
    28完全背包+扩展欧几里得(包子凑数)
    HDU 3527 SPY
    POJ 3615 Cow Hurdles
    POJ 3620 Avoid The Lakes
    POJ 3036 Honeycomb Walk
    HDU 2352 Verdis Quo
    HDU 2368 Alfredo's Pizza Restaurant
    HDU 2700 Parity
    HDU 3763 CDs
    POJ 3279 Fliptile
  • 原文地址:https://www.cnblogs.com/wenm1128/p/10673388.html
Copyright © 2011-2022 走看看