Случайная находка

Выбираем новый предмет так, чтобы он не повторился.

Два дружелюбных питона

Шаг 1 · Выбери случайный предмет

Модуль random умеет выбирать один элемент из списка.

Python
Запустить в IDE ↗
import randomitems = ["меч", "карта", "фонарик"]found = random.choice(items)print("Ты нашёл:", found)

Что происходит в коде

  1. import random подключает модуль случайного выбора.
  2. random.choice(items) возвращает один предмет из списка.
  3. При следующем запуске результат может быть другим.

Шаг 2 · Убери повторения

Переберём все предметы и оставим только ещё не найденные.

Python
Запустить в IDE ↗
import randomitems = ["меч", "карта", "фонарик"]found_items = ["меч"]available = []for item in items:    if item not in found_items:        available.append(item)new_item = random.choice(available)print("Новая находка:", new_item)

Что происходит в коде

  1. for проходит по каждому предмету в items.
  2. not in проверяет, что предмет ещё не найден.
  3. available.append(item) собирает подходящие предметы; выбор делается только из них.

Попробуй сам

  1. Добавь отмычку в список items.
  2. Положи новую находку в found_items через append().
  3. Перед random.choice() проверь, что available не пустой.

Открой пример в онлайн IDE, измени его и проверь результат после каждого изменения.

Как это работает в полной игре

В готовой игре find_item() выбирает ещё не найденный предмет. searched_rooms не даёт осмотреть одну комнату дважды.

Скачать исходный код игры
Заметка для преподавателя

Спросите, что произойдёт, если вызвать random.choice([]). Пусть дети добавят проверку пустого списка до выбора.