場景
產生20個數,範圍是10-100之間,平均值為66
思路
- 產生一個隨機數
- 使用平均數減去隨機數求出第二個數,生成10組
- 將排序打亂
Python版本:3.*
示例
import random
def int_random(average, begin, end):
"""
產生隨機整數
第一個數隨機產生,第二個使用平均數求出
:param average: 平均數
:param begin: 起始區間
:param end: 結束區間
:return:
"""
arr_num = [0 for x in range(2)]
i = 0
while True:
# 第一個數
first_number = random.randrange(begin, end)
# 第二個數
second_number = average * 2 - first_number
if begin <= second_number <= end:
arr_num[i] = first_number
i += 1
arr_num[i] = second_number
break
return arr_num
def main():
count = 20
average = 66
begin = 10
end = 100
avg_count = int(count / 2)
int_arr_count = 0
arr_number = [0 for x in range(count)]
for i in range(avg_count):
number_list = int_random(average=average, begin=begin, end=end)
for j in range(len(number_list)):
arr_number[int_arr_count] = number_list[j]
int_arr_count += 1
random.shuffle(arr_number)
return arr_number
if __name__ == '__main__':
main()