Подскажите альтернативу экшену рандом.

Регистрация
11.10.2017
Сообщения
147
Благодарностей
7
Баллы
18
Не нравится мне встроеный рандом, повторят все при каждом запуске шаблона. Может кто подскажет как улучшить? Может на c#. Я его плохо знаю. Нужно рандом в заданном диапазоне чисел
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Повторяет? покажи скрин настроек кубика. И что конкретно нужно от него.
 

SanchoPancho

Client
Регистрация
09.12.2015
Сообщения
164
Благодарностей
82
Баллы
28
Код:
Random rand = new Random();
int i= rand.Next(0,100);
return i;
 
Регистрация
11.10.2017
Сообщения
147
Благодарностей
7
Баллы
18
Повторяет? покажи скрин настроек кубика. И что конкретно нужно от него.
123.jpg

Суть шаблона в том, что аккаунт заходит в своих друзей, выбирает рандомно из напасенного списка, далее заходит так же к случаному друга и собирает нужную инфу и так далее рандомным образом парсится и выбирается. Все нормально пока не перезапустишь шаблон с начала, вот и выкидывает на одни и теже страницы. То есть рандом не такой уж и случайный получается
 
Регистрация
11.10.2017
Сообщения
147
Благодарностей
7
Баллы
18

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Посмотреть вложение 29118
Суть шаблона в том, что аккаунт заходит в своих друзей, выбирает рандомно из напасенного списка, далее заходит так же к случаному друга и собирает нужную инфу и так далее рандомным образом парсится и выбирается. Все нормально пока не перезапустишь шаблон с начала, вот и выкидывает на одни и теже страницы. То есть рандом не такой уж и случайный получается
Во первых это кубик Обработка текста - Regex.
Во вторых кубик рандом, это кубик рандом :D
В третьих тебе нужно получить коллекцию элементов и в номере совпадение написать (random).
 

SanchoPancho

Client
Регистрация
09.12.2015
Сообщения
164
Благодарностей
82
Баллы
28
Код:
var a = Convert.ToInt32(project.Variables["имя_переменной"].Value);
var b = Convert.ToInt32(project.Variables["имя_переменной"].Value);

Random rand = new Random();
int i= rand.Next(a,b);
return i;
 
Регистрация
11.10.2017
Сообщения
147
Благодарностей
7
Баллы
18
Во первых это кубик Обработка текста - Regex.
Во вторых кубик рандом, это кубик рандом :D
В третьих тебе нужно получить коллекцию элементов и в номере совпадение написать (random).
рворугку.jpg

Ой, не тот скрин)) Извиняюсь. Вот этот надо было)))
 
Регистрация
11.10.2017
Сообщения
147
Благодарностей
7
Баллы
18

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Регистрация
11.10.2017
Сообщения
147
Благодарностей
7
Баллы
18
Ну это же рандом, есть вероятность, что возьмет ту же строку второй раз. А много строк в списке? Можно брать с удалением, тогда повторов точно не будет.
Количество строк зависит от количества друзей у просматриваемой анкеты. Удалять смысла нет, так как уже взято. Оно же берет один айди человека из напарсенного списка, переходит на страницу по этому айди и опять парсит в список и тд. Получается что оно изначально тыкает одних и тех же. Наверно надо как то в других местах сначала источник брать. Ну или в список уже использованных добавлять и каждый раз проверять по списку на совпадение. Но это прикинь если список большой станет, то сколько времени это будет занимать. Да и при последующем запуске будет опять в одни и те же анкеты тыкать. Как то по другому надо
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Да я тебе говорю просто найди коллекцию элементов, и кликай рандомно сразу без списков.
 
Регистрация
11.10.2017
Сообщения
147
Благодарностей
7
Баллы
18
Да я тебе говорю просто найди коллекцию элементов, и кликай рандомно сразу без списков.
Вот если бы ты мне более понятным языком объяснил....))) Я же новичок. Хотя кое что уже умею
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
Вот если бы ты мне более понятным языком объяснил....))) Я же новичок. Хотя кое что уже умею
Мне легче сделать самому)) Какой алгоритм действий?
Заходим на страницу к человеку в друзья, кликаем рандомно по другу, у этого друга опять заходим в друзья и кликаем опять рандомно и т.д.?

P.S. Коллекция элементов рассматривается в одном из уроков.
 
Последнее редактирование:

Ostap1992

Client
Регистрация
26.02.2020
Сообщения
42
Благодарностей
3
Баллы
8
всем привет


22:A0:86:7B:58:EE

нужно генерировать вот такое значение как это сделать
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113
  • Спасибо
Реакции: Ostap1992

Ostap1992

Client
Регистрация
26.02.2020
Сообщения
42
Благодарностей
3
Баллы
8

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 328
Благодарностей
5 431
Баллы
113

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
в рандоме можно задавать символы

82940
 

Вложения

Ostap1992

Client
Регистрация
26.02.2020
Сообщения
42
Благодарностей
3
Баллы
8

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113
C#:
var symbols = Enumerable.Concat(Enumerable.Range(48, 10), Enumerable.Range(65, 6));
List<string> pairs = new List<string>();
for(int i = 0; i < 6; i++){
    pairs.Add(string.Join("", symbols.Shuffle().Range("0-1").Select(x=>(char)x)));
}
return string.Join(":", pairs);
 
  • Спасибо
Реакции: djaga и Ilshakin

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
C#:
var symbols = Enumerable.Concat(Enumerable.Range(48, 10), Enumerable.Range(65, 6));
List<string> pairs = new List<string>();
for(int i = 0; i < 6; i++){
    pairs.Add(string.Join("", symbols.Shuffle().Range("0-1").Select(x=>(char)x)));
}
return string.Join(":", pairs);
C#:
Byte[] arr = new Byte[6];
new Random().NextBytes(arr);
return string.Join(":", arr.Select(x => x.ToString("x2"))).ToUpper();
Можно еще проще) Только давая код в таких не сложных задачах нужно понимать, что человек ничему не научится
 
  • Спасибо
Реакции: djaga, Ilshakin и Alexmd

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113
C#:
Byte[] arr = new Byte[6];
new Random().NextBytes(arr);
return string.Join(":", arr.Select(x => x.ToString("x2"))).ToUpper();
Можно еще проще) Только давая код в таких не сложных задачах нужно понимать, что человек ничему не научится
Человек не научится ничему, если этого не захочет сам. А для тех, кто ищет и учится, как и я, по ходу возникновения задач, все это будет хорошим подспорьем.
 
  • Спасибо
Реакции: djaga и Ilshakin

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)