Python根据上下限生成不重复随机数1

Python 2.7.5代码:

Python根据上下限生成不重复随机数1
 1 #coding=utf-8
 2 import random
 3 
 4 #定义计数器,默认为0
 5 num=0
 6 #定义随机结果集,默认为空列表
 7 choose_resault=[]
 8 
 9 #最多可随机5次
10 while num<5:
11     #输入上下限
12     min_num = input(u随机数上限:)
13     max_num = input(u随机数下限:)
14 
15     #确定上限必须大于下限
16     if min_num>=max_num:
17         print u随机数上限必须大于下限
18         pass
19     #确定能随机5次
20     elif len(range(min_num,max_num+1))<5:
21         print u随机数总数小于5,不够随机5次,重新输入!
22         pass
23     else:
24     #根据上下限生成列表
25         random_list=range(min_num,max_num+1)
26         print u根据您输入的上下限,已准备好从%d到%d共计%d个随机数可抽取! %(min_num,max_num,len(range(min_num,max_num+1)))
27         #最多可随机5次
28         
29         while num<5:
30             #确定是否随机?
31             choose=int(raw_input(u是否随机抽取一个?(‘是’则1,‘否’则0)))
32             #输入1,生成随机数
33             if choose==1:
34                 #根据列表生成随机数
35                 random_num=random.choice(random_list)
36                 #判断随机数是否已存在于随机结果集,不存在则添加,计数器+1,存在则提示重复
37                 if random_num not in choose_resault:
38                     choose_resault.append(random_num)
39                     print u第%d次随机结果:%d %(num+1,random_num)
40                     num+=1
41                 else:
42                     print u第%d次随机结果:%d,重复,需重新随机一次! %(num+1,random_num)
43                     pass
44             #输入0,程序退出,并给出提示
45             elif choose==0:
46                 print u你在第%d次随机时选择了退出! %(num+1)
47                 num=6
48                 break
49             #输入非1、0,给出提示
50             else:
51                 print u请输入1或0!
52                 
53 #计数器为5,程序退出    
54 while num==5:
55     #随机5次,程序退出
56     print u随机次数已达5次,程序退出!
57     print u最终随机结果如下:,choose_resault
58     break
59 #计数器不为0~5,打印也已随机的结果    
60 else:         
61     print u最终随机结果如下:,choose_resault
Python根据上下限生成不重复随机数1

 

 

测试结果:

Python根据上下限生成不重复随机数1

Python根据上下限生成不重复随机数1

上一篇:C语言中Static和Const关键字的的作用


下一篇:解决python的socket编程报Errno 98的问题