Python
🔥 Python bo‘yicha random mavzu: Tasodifiy tanlov bilan qiziqarli mini- loyiha (random.choice)
Bugungi mavzu: Pythonning random moduli yordamida tasodifiy tanlov qilish. Tasodifiylik faqat kichik skriptlar uchun emas, balki o‘yinlar, sun’iy intellekt stsenariylari yoki foydalanuvchi tajribasini yaxshilash uchun ham foydali. random moduli ichida choice, shuffle, randint kabi foydali funksiyalar mavjud. Bu mavzu yordamida siz biror ro‘yxat ichidan tasodifiy elementni tanlash, ro‘yxatni aralashtirish yoki takrorlanmas random sonlar olishni o‘rganasiz. Kaliy, xavfsiz ishlash uchun seed ham o‘rganamiz — reproducible natijalar olish mumkindir.
Qisqa nazariy tushuntirish:
- random modulining asosiy vazifasi tasodifiy sonlar va qarorlar ishlab chiqarish.
- random.choice ro‘yxatdan biror elementni tasodifiy tanlaydi; seed orqali tasodifiy sonlar oqimini “yopishtirish” mumkin.
- shuffle ro‘yxatni joylashtirib aralashtiradi, agar tartibni yo‘qotmasdan ixtiyoriy tanlov qilinsa foydali.
- random.randint a va b oraliqdagi butun sonni tasodifiy beradi, qamrovi a, b ichida bo‘ladi.
Amaliy kod misoli:
import random
# Reproducibility uchun seed qo'yamiz
random.seed(42)
oyeqlar = ["Mavzu 1", "Mavzu 2", "Mavzu 3", "Mavzu 4", "Mavzu 5"]
# Tasodifiy mavzu tanlash
tanlangan = random.choice(oyeqlar)
# Ro'yxatni aralashtirish
random.shuffle(oyeqlar)
# Tasodifiy sonlar oraliq berish
tasodiy_r = random.randint(10, 99)
print("Tanlangan mavzu:", tanlangan)
print("Aralashtirilgan ro'yxat:", oyеqlar)
print("Tasodiy son (10..99):", tasodiy_r)
Kod natijasi (Output):
Tanlangan mavzu: Mavzu 4
Aralashtirilgan ro'yxat: 'Mavzu 2', 'Mavzu 1', 'Mavzu 5', 'Mavzu 3', 'Mavzu 4'
Tasodiy son (10..99): 74
Izoh: seed o‘zgarmasa, har bir ishga tushurishda xuddi shunday natija berishi mumkin. Qanday loyihalarda random modulidan qaysi yo‘lni afzal ko‘rasiz?
Obuna bo‘lganlar, fikrlar: Sizning eng qiziqarli random konseptingiz qaysi mavzu? Yoki hozirgi mavzu bo‘yicha qanday qo‘shimcha misollar ko‘rishni istaysiz?
7 ·