Python 隨機生成三位數字


描述:

  1. 以整數17為隨機數種子,獲取用戶輸入整數N為長度,產生3個長度為N位的密碼,密碼的每位是一個數字。每個密碼單獨一行輸出。
  2. 產生密碼采用random.randint()函數。

方法1:

通過randint(a,b)范圍來生成隨機密碼;
通過random.seed()來定義隨機數種子;

import random

def genpwd(length):
    a = 10**(length-1) #定義隨機數范圍下限
    b = 10**length - 1 #定義隨機數范圍上限
    return "{}".format(random.randint(a, b)) 

length = eval(input())
random.seed(17) #設置隨機數種子
for i in range(3):
    print(genpwd(length))`

方法2:

使用列表推導式,把數字列表轉換成字符串列表
使用.join()函數,將序列中的元素以指定的字符連接生成一個新的字符串。

import random

def genpwd(length):
    l=[str(random.randint(0,9)) for i in range(length)] #列表推導,生成字符串列表
    return eval(''.join(l)) 列表元素連接生成字符串,並用eval輸出

length = eval(input())
random.seed(17)
for i in range(3):
    print(genpwd(length))

(以上題學到了三個知識點:)

  1. 10(length-1),10length-1來根據長度確定上下限問題;
  2. 數值列表轉換字符列表辦法。
  3. .join()函數的用法,只適用於字符串列表的重新排列生成

以上內容是參加國家精品在線開放課"Python語言程序設計"(中國大學MOOC平台)對應的實踐課程練習,第15次開課。嵩天 老師


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM