ماژول random در پایتون

ماژول random در پایتون

random module
آموزش مقدماتی پایتون

ماژول random در پایتون

ماژول استاندارد random در پایتون

import random

roll = random.randint(1, 6)
print(roll)  # خروجی نمونه: 4
import random

odd_num = random.randrange(1, 10, 2)
print(odd_num)  # خروجی نمونه: 7
import random

val = random.random()
print(round(val, 4))  # خروجی نمونه: 0.6354

۴. random.uniform(a, b)

import random

temp = random.uniform(36.5, 37.5)
print(round(temp, 2))  # خروجی نمونه: 36.82

۵. random.gauss(mu, sigma)

import random

noise = random.gauss(0, 1)
print(round(noise, 3))  # خروجی نمونه: -0.428
import random

colors = ["red", "blue", "green"]
selected = random.choice(colors)
print(selected)  # خروجی نمونه: 'blue'
import random

items = ["win", "lose"]
results = random.choices(items, weights=[10, 90], k=3)
print(results)  # خروجی نمونه: ['lose', 'lose', 'win']

۸. random.sample(seq, k)

import random

lottery = list(range(1, 20))
winning_numbers = random.sample(lottery, 3)
print(winning_numbers)  # خروجی نمونه: [14, 3, 9]
import random

deck = [1, 2, 3, 4, 5]
random.shuffle(deck)
print(deck)  # خروجی نمونه: [3, 1, 5, 2, 4]
import random

random.seed(42)
print(random.randint(1, 100))  # خروجی قطعی و ثابت: 82

مثال اول: تولید نویز تصادفی با توزیع گوسی (gauss)

import random

base_signal = 1.25  # ولتاژ پایه سیگنال

# تولید نویز گوسی با میانگین ۰ و انحراف معیار ۰.۱۵
gaussian_noise = random.gauss(0.0, 0.15)
noisy_signal = base_signal + gaussian_noise

print(f"نویز گوسی: {round(gaussian_noise, 4)}")
print(f"سیگنال نهایی با نویز: {round(noisy_signal, 4)}")

مثال دوم: تولید مقادیر با گام مشخص با randrange

import random

# تولید عدد تصادفی با شروع ۱۰۰، پایان ۵۰۰ و گام ۵۰
interval_ms = random.randrange(100, 550, 50)
print(f"بازه زمانی انتخاب‌شده: {interval_ms} میلی‌ثانیه")
import random

classes = ["Normal", "Arrhythmia"]
weights = [0.8, 0.2]

selected_class = random.choices(classes, weights=weights, k=1)[0]
print(f"وضعیت ثبت‌شده بر اساس توزیع وزن‌دار: {selected_class}")

صورت مسئله

import random

def run_advanced_random_pipeline():
    """
    اجرای جامع پایپ‌لاین ماژول random شامل توزیع گوسی، seed، sample و shuffle
    """
    # ۱. تثبیت تصادفی بودن جهت تکرارپذیری نتایج
    random.seed(42)
    print("=== مقدار seed روی 42 تنظیم شد ===")

    # ۲. شبیه‌سازی نویز گوسی (توزیع نرمال)
    mu, sigma = 0.0, 0.2
    noise_samples = [random.gauss(mu, sigma) for _ in range(5)]
    print("\n۵ نمونه نویز گوسی تولید شده:")
    for i, noise in enumerate(noise_samples, 1):
        print(f"  نمونه {i}: {round(noise, 4)}")

    # ۳. انتخاب نمونه بدون تکرار با sample
    sensors = [f"Sensor_{ch}" for ch in ["V1", "V2", "V3", "V4", "V5", "V6", "LeadI", "LeadII"]]
    selected_sensors = random.sample(sensors, k=3)
    print(f"\nکانال‌های سنسور انتخاب‌شده (sample): {selected_sensors}")

    # ۴. بر هم زدن ترتیب با shuffle
    execution_queue = selected_sensors.copy()
    random.shuffle(execution_queue)
    print(f"ترتیب تصادفی پردازش کانال‌ها (shuffle): {execution_queue}")

    # ۵. تولید عدد تصادفی گام‌دار با randrange
    baud_rate = random.randrange(9600, 115200 + 1, 9600)
    print(f"\nنرخ ارسال داده انتخابی (randrange): {baud_rate} bps")


if __name__ == "__main__":
    run_advanced_random_pipeline()

فکر خود را اینجا بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *