循环随机取数组直到得出指定数字
1,查询简介
- 举个例子:
- 随机数字范围:
- 0~100 每组数字量:
- 6(s1,s2,s3,s4,s5,s6)
- 第二轮开始随机数字范围:
- 新s1和新s2取值为旧s1和s2之间,新s3和新s4取值为旧s3和s4之间,新s5和新s6取值为旧s5和s6之间。
- 跳出循环条件:任意数字 = 37 如因s1 = s2 != 37&&s3=s4!=37&&s5=s6!=37 使数组进入无意义无限循环,则重新取0~100六个数字并开始如上述第二轮随机的随机取值。
2,查询代码
"""
Created on Thu Dec 30 16:22:55 2021
Function: 循环随机取数组直到得出指定数字
@author: 小梁aixj
"""
import random
def random_test():
rst_list = [random.randint(0,100) for i in range(0, 6)]
print(rst_list)
while 1:
temp = []
for k,v in enumerate(rst_list):
if k%2==0:
temp.append(random.randint(min([rst_list[k],rst_list[k+1]]),max([rst_list[k],rst_list[k+1]])))
else:
temp.append(random.randint(min(rst_list[k-1], rst_list[k]),max(rst_list[k-1], rst_list[k])))
rst_list = temp
print(rst_list)
if 37 in rst_list:
print('rst_list:',rst_list)
return rst_list
else:
if rst_list[0]==rst_list[1] and rst_list[2]==rst_list[3] and rst_list[4]==rst_list[5]:
rst_list = [random.randint(0, 100) for i in range(0, 6)]
def main():
random_test()
if __name__ == '__main__':
main()
3,运行结果
