Lam's blog

知之爲知之,不知爲不知


  • 首頁

  • 歸檔

  • 關於我

  • 搜索

使用Python已知平均值求隨機數

時間: 2021-11-18   |   分類: Python   | 字數: 235 字 | 閱讀: 1分鐘 | 閱讀次數:

場景

產生20個數,範圍是10-100之間,平均值為66

思路

  1. 產生一個隨機數
  2. 使用平均數減去隨機數求出第二個數,生成10組
  3. 將排序打亂

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()
#Python#

聲明:使用Python已知平均值求隨機數

鏈接:https://www.lamsir.cc/post/python-average-to-range/

作者:Lam Sir

聲明: 本博客文章除特別聲明外,均采用 CC BY-NC-SA 3.0許可協議,轉載請註明出處!

創作實屬不易,如有幫助,那就打賞博主些許茶錢吧 ^_^
ETH Pay

ERC20-USDT

接口的冪等性
PHP8.1一些新特性介紹之一純交集類型
Lam Sir

Lam Sir

Live your life...

30 日誌
5 分類
11 標簽
標簽雲
  • Python
  • Php
  • Javascript
  • Mysql
  • Video
  • Wordpress
  • API
  • Laravel
  • MAC
  • Node.Js
© 2020 - 2022 Lam's blog
0%