python 生成n個,在一定范圍之間的不重疊的隨機數 列表實現 集合實現


生成n個,在0-100之間的不重疊的隨機數。

分別使用列表和集合來實現。

  • 列表法實現時核心是判斷新生成的隨機數是否已經存在於列表中,可以使用 if x not in list進行判斷。
  • 集合法使用時則不用擔心重疊問題,因為集合天然不允許重疊。
  • 使用while len(numbers) < n作為while循環的條件,即可生成一組長度為n的不重疊隨機數。
  • Notes:向列表中添加元素使用list.append(x),而向集合中添加元素使用set.add(x)
import random


def collectionMethod(n):
    """集合方式實現"""
    numbers = set()
    while len(numbers) < n:
        # 0~100之間的隨機數
        i = random.randint(0, 100)
        numbers.add(i)
    return numbers


def listMethod(n):
    """列表的方法實現"""
    numbers = []
    while len(numbers) < n:
        i = random.randint(0, 100)
        if i not in numbers:
            numbers.append(i)
    return numbers


if __name__ == '__main__':
    n = int(input("請輸入數字個數n\n"))
    # 生成n個,在0-100之間的不重疊的隨機數。
    print(f"集合方式實現:{collectionMethod(n)}")
    print(f"列表方法實現{listMethod(n)}")

運行結果

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM