Урок 8. Модуль `random` і гра «Вгадай число»
Урок 8. Модуль random і гра «Вгадай число»
Section titled “Урок 8. Модуль random і гра «Вгадай число»”Тривалість: 40–50 хв
XP за урок: 170
🎯 Місія
Section titled “🎯 Місія”Об’єднати змінні, input, умови та цикл у справжню гру.
💡 Пояснення простою мовою
Section titled “💡 Пояснення простою мовою”Уяві, що ти кидаєш кубик — кожного разу випадає інше число. Саме так працює модуль random у Python: він генерує випадкові числа, які ми не можемо передбачити.
Гра «Вгадай число» працює так: комп’ютер загадує число (ніхто не знає яке), а ти намагаєшся вгадати. Після кожного твого кидка програма підказує — більше чи менше твоє число. Так триває, доки не вгадаєш!
🎲 1. random
Section titled “🎲 1. random”import random
number = random.randint(1, 10)print(number)randint(1, 10) генерує випадкове ціле число від 1 до 10 включно.
🧪 2. Випадковий damage
Section titled “🧪 2. Випадковий damage”import random
damage = random.randint(5, 20)print(f"Attack: {damage} damage")✏️ Вправи
Section titled “✏️ Вправи”Вправа 1 — Dice
Section titled “Вправа 1 — Dice”Зімітуй шестигранний кубик.
Вправа 2 — Critical Hit
Section titled “Вправа 2 — Critical Hit”Згенеруй damage від 5 до 20.
Якщо damage >= 18, додатково покажи:
CRITICAL HIT!Вправа 3 — 5 атак
Section titled “Вправа 3 — 5 атак”За допомогою for зроби 5 випадкових атак.
🎮 Головний проєкт — Guess the Number
Section titled “🎮 Головний проєкт — Guess the Number”Комп’ютер загадує число від 1 до 20.
Користувач вгадує.
Програма підказує:
"Більше!""Менше!""Ти вгадав!"
Каркас:
import random
secret = random.randint(1, 20)
while True: guess = int(input("Твоя відповідь: "))
# твій код тутgraph TD
A["Старт гри"] --> B["Комп'ютер загадує secret"]
B --> C["Користувач вводить guess"]
C --> D{"guess == secret?"}
D -->|"так"| E["Ти вгадав!"]
D -->|"ні, guess > secret"| F["Менше!"]
D -->|"ні, guess < secret"| G["Більше!"]
F --> C
G --> C
🧩 Розбираємо по рядках
Section titled “🧩 Розбираємо по рядках”import random— підключаємо модуль для випадкових чисел.secret = random.randint(1, 20)— комп’ютер загадує число від 1 до 20.while True:— нескінченний цикл, гра триває доки не вгадаєш.guess = int(input(...))— запитуємо число у користувача і перетворюємо на ціле.if secret > guess:— порівнюємо і підказуємо більше чи менше.if secret == guess:— якщо рівні — гравець виграв, іbreakзупиняє цикл.
Не копіюй готове рішення — допиши логіку самостійно.
⭐ Challenge
Section titled “⭐ Challenge”Додай лічильник спроб.
Наприкінці:
Ти вгадав за 4 спроби!Mega bonus: максимум 6 спроб. Після цього — Game Over.
🐉 BOSS LEVEL 2
Section titled “🐉 BOSS LEVEL 2”Без підглядання створити гру заново у новому порожньому файлі.
Умови:
- випадкове число 1–50;
- підказки більше/менше;
- лічильник спроб;
- повідомлення про перемогу.
Boss reward: +150 XP
⚡ Перевір себе
Section titled “⚡ Перевір себе”- Чи можеш пояснити, що робить
random.randint(1, 20)? - Чи розуміш, навіщо
while True:іbreak? - Чи вмієш додати лічильник спроб до гри?
- Чи можеш створити гру без підглядання в цьому уроці?
✅ Можна рухатись далі, якщо Марко може
Section titled “✅ Можна рухатись далі, якщо Марко може”- імпортувати
random; - використати
randint; - поєднати
while,ifіinput; - самостійно написати просту гру.
🏠 Домашня місія
Section titled “🏠 Домашня місія”Додай рівні складності:
- easy: 1–10;
- normal: 1–50;
- hard: 1–100.