Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 8

Ввод уникальных значений координат

14.11.2019, 19:15. Показов 2885. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите, пожалуйста, еще одну доработку сделать...

Делаю поле для игры Сапер. Нужно добавить несколько исключений при вводе данных:
1. Чтобы повторяющиеся координаты исключались (типа нельзя ставить мину на одно и то же место)
2. Чтобы нельзя было вводить мин больше, чем есть клеток на поле.

Вот начальная часть моего кода, чтоб можно было сориентироваться:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
while True:
  try:
    N, M = map(int, input('Размер поля:').split(' '))
  except ValueError:
    print("Недопустимые значения")
    continue
  if N < 10 or M < 10:
    print("Размер поля должен быть не менее 10х10")
    continue
  break
 
while True:
  try:
    K = int(input('Количество мин:'))
  except ValueError:
    print("Недопустимые значения")
    continue
  if K < 10:
    print("Количество мин должно быть не менее 10 ")
    continue
  break
 
mines = []
for i in range(K):
    while True:
      try:
        x, y = map(int, input('Координаты мины #{}:'.format(i + 1)).split(' '))
      except ValueError:
        print("Недопустимые значения")
        continue
      if x <= 0 or y <= 0:
        print('Значение меньше единицы')
        continue
      if x > N or y > M:
        print('Значение превышает размер поля')
        continue
      break
    mines.append((x, y))
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.11.2019, 19:15
Ответы с готовыми решениями:

Найти n наибольших уникальных значений в массиве
Найти n наибольших уникальных значений в массиве, вот моя корявая попытка, не могу понять как решить. import numpy as np a =...

Получение уникальных значений списка
Имеется задача: вывести только уникальные значения списка. Предположим, у нас есть следующий список: numbers = На выходе я должен...

Pandas: подсчет количества уникальных значений в Series
Подскажите, пожалуйста, как посчитать количество уникальных значений (каждого отдельно) в колонке датафрейм. В коде показал через метод...

2
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
14.11.2019, 19:27
Лучший ответ Сообщение было отмечено FkA как решение

Решение

2)
Python
1
if K > N*M:
Добавлено через 1 минуту
Вам же нужно будет как-то расставлять мины на поле? Может, сразу сгенерируете игровое поле с заданными размерами? А не будете хранить мины в списке?

Добавлено через 3 минуты
Допустим, 1 - это мина, 0 - отсутствие мины. Тогда:
Python
1
2
3
4
5
6
7
matrix = []
for _ in range(N):
    line = []
    for _ in range(M):
        line.append(0)
    matrix.append(line)
print(matrix)
Добавление мины:
Python
1
matrix[x][y] = 1
Проверка, что мина уже стоит:
Python
1
if matrix[x][y] == 1
Добавлено через 1 минуту
p.s удобно использовать:
Python
1
2
from pprint import pprint
pprint(matrix)
1
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 8
15.11.2019, 18:02  [ТС]
Огромное спасибо за идеи!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.11.2019, 18:02
Помогаю со студенческими работами здесь

Совмещение (объединение) списков с сохранением уникальных значений
Здравствуйте! Прошу помощи даны два списка a = b = Нужно совместить списки и получить результат в виде следующего списка:

Selenium Python при каждом запуске скрипта необходима генерация уникальных значений
Делаю скрипт проверки регистрации пользователей. Каждый пользователь должен быть уникальным, со своим номером телефона, почтой и паспортом,...

Подсчет количества уникальных строк и числа строк с каждым из уникальных значений
Здравствуйте, есть таблица с текстовой колонкой. Нужно получить количество строк, в которых значение этой колонки уникально и число строк...

Получение уникальных значений поля (GROUP BY) и min/max значений других полей
Доброго времени суток. Есть таблица из 4 полей: id | article | price | enabled id - уникальный AI, остальные - обычные...

Программа, осуществляющая ввод координат трех точек на плоскости и выводящая сообщение, какая из них ближе к началу координат
Разработать программу,осуществляющую ввод координаты трех точек на плоскости о выводящее сообщение, какая из них ближе к началу координат.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru