描述
补充编程模板中代码,完成如下功能:
以整数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)