描述
補充編程模板中代碼,完成如下功能:
以整數17為隨機數種子,獲取用戶輸入整數N為長度,產生3個長度為N位的密碼,密碼的每位是一個數字。每個密碼單獨一行輸出。
產生密碼采用random.randint()函數。
輸入輸出示例
輸入: 3
輸出:634
524
926
我的代碼:
1 import random 2 3 def genpwd(length): 4 return random.randint(pow(10,length-1),pow(10,length)) 5 6 length = eval(input()) 7 random.seed(17) 8 for i in range(3): 9 print(genpwd(length))
參考答案:
1 import random 2 3 def genpwd(length): 4 a = 10**(length-1) 5 b = 10**length - 1 6 return "{}".format(random.randint(a, b)) 7 8 length = eval(input()) 9 random.seed(17) 10 for i in range(3): 11 print(genpwd(length))
疑問:randint(a,b),產生的隨機數的范圍是[a,b],還是[a,b]?
測試:用random.randint(10,10)測試,結果還沒打完就有提示信息顯示是范圍是[a,b],測試結果不出意外是10;
小結:自己寫的代碼還是有問題的,具體在第4行,應改為:
return random.randint(pow(10,length-1),pow(10,length)-1)