Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Генератор случайных чисел  (Прочитано 433 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ecc83

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2115
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Генератор случайных чисел
« : 07 Июль 2020, 20:18:54 »
Есть такая команда:

shuf -i 1-20 -n 1
Генерирует случайное число в диапазоне от 1 до 20.

Мне нужно, чтобы новое сгенерированное число было НЕ РАВНО предыдущему.
Кто может показать пример, как лучше реализовать это?

Можно записывать значание во временный файл, что бы потом сравнивать и если новое значение РАВНО, запускать команду повторно пока будет НЕ РАВНО.
Может есть более грамотное решение?
« Последнее редактирование: 07 Июль 2020, 21:26:44 от ecc83 »

Оффлайн soarin

  • Старожил
  • *
  • Сообщений: 1850
  • ubuntu 20.04
    • Просмотр профиля

Оффлайн ecc83

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2115
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Генератор случайных чисел
« Ответ #2 : 07 Июль 2020, 21:03:54 »
ecc83, А смысл?

Вопрос не понятен.

https://stackoverflow.com/questions/9755538/how-do-i-create-a-list-of-random-numbers-without-duplicates

Благодарю. Перед тем как сюда написать, я плотно посидел в гугле. Эти ссылки я видел. python не подходит.

Оффлайн Dzhoser

  • Старожил
  • *
  • Сообщений: 2424
    • Просмотр профиля
Re: Генератор случайных чисел
« Ответ #3 : 07 Июль 2020, 21:15:10 »
Мне нужно, чтобы новое сгенерированное число было НЕ РАВНО педыдущему.
А какая у Вас выборка?

Пользователь добавил сообщение 07 Июль 2020, 21:17:11:
Это я к тому что рано или поздно числа будут повторяться.
« Последнее редактирование: 07 Июль 2020, 21:17:11 от Dzhoser »

Оффлайн ecc83

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2115
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Генератор случайных чисел
« Ответ #4 : 07 Июль 2020, 21:25:57 »
Это я к тому что рано или поздно числа будут повторяться.

Потом пусть себе повторяются. Мне важно что бы небыло два одинаковых значения подряд.
А выборка это числа от 1-го до 20-ти.

Оффлайн Dzhoser

  • Старожил
  • *
  • Сообщений: 2424
    • Просмотр профиля
Re: Генератор случайных чисел
« Ответ #5 : 07 Июль 2020, 21:34:31 »
Создайте массив и удаляйте из него выпавшие числа

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4706
  • Capture the truth
    • Просмотр профиля
Re: Генератор случайных чисел
« Ответ #6 : 07 Июль 2020, 22:04:50 »
Код: (bash) [Выделить]
#!/bin/bash
A=0
B=0

for i in {1..300} ; do # 600 чисел. Для бесконечной генерации: while : ; do
  A=$((RANDOM % 20 +1)) # зачем shuf, если есть RANDOM?
  while (( A == B )) ; do A=$((RANDOM % 20 +1)) ; done
  echo $A
  B=$((RANDOM % 20 +1))
  while (( A == B )) ; do B=$((RANDOM % 20 +1)) ; done
  echo $B
done
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 07 Июль 2020, 22:17:08 от ALiEN175 »
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн ecc83

  • Автор темы
  • Старожил
  • *
  • Сообщений: 2115
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Генератор случайных чисел
« Ответ #7 : 07 Июль 2020, 22:47:46 »
ALiEN175, благодарю.

 

Страница сгенерирована за 0.063 секунд. Запросов: 26.