何の繰り返しを確保しないようにランダムに生成された電話番号

インポートランダム
 インポートはos.path 

DEF get_mobile_no(mobile_no_file_path):

    mobile_no = "" 
    prifix = [135,136,137,138,150,159,188 ] 

    ながら 1 
ランダムに開始選択# mobile_prifix
= random.choice(prifix)
8ランダムに生成された後位 mobile_postfixを
= random.randint(10000000 、99999999
#スプライシング mobile_no
= STR(mobile_prifix)+ STR(mobile_postfix)
は、ファイルが存在するかどうかを決定する
試みを オープン(mobile_no_file_pathと、" A + ")FPとして:
#判重逻辑
場合 mobile_no fp.read(): 継続
写入#を文件 fp.write(mobile_no + " N \ " 休憩 を除いて Eなど例外: オープン(と" no.txt "" + " )FPとして: もし mobile_no )fp.read(: 継続 fp.write(mobile_no + " \ nは"ブレーク リターンmobile_noの 印刷(get_mobile_no(" D:\\ no2.txt "))

 

 

乱数を生成すると8 zfillを使用することができます

Pythonのzfill()メソッドは、前にゼロを埋め、右揃え元の文字列の指定された長さを返します。

コードの変更:

インポートランダム
 インポートはos.path 

DEF get_mobile_no(mobile_no_file_path):

    mobile_no = "" 
    prifix = [135,136,137,138,150,159,188 ] 

    ながら 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)
         してみてください
            オープンで(mobile_no_file_path、" + " FPとして):
                 もし mobile_nofp.read():
                     継続
                fp.write(mobile_no + " N \ " 休憩
        を除いて  電子など例外:
            オープンで(" no.txt "" + " )FPとして:
                 もし mobile_no fp.read():
                     継続
                fp.write(mobile_no + " \ n個" ブレーク
    リターンmobile_noの

印刷(get_mobile_noを("D:\\ no2.txt "))

 

 

残りの問題:シリアル追い越さのリスト?

おすすめ

転載: www.cnblogs.com/wenm1128/p/10673388.html