Модуль random на примерах

random.choice()

В модуле Python random есть функция choice(), используемая для выбора случайного элемента из списка или другой последовательности. Функция random.choice() используется для возврата случайного элемента из списка значений.

Синтаксис ramdom.choice()

 
random.choice(sequence) 

или

 
random.choices(sequence, k=l) 

Здесь последовательность параметров может быть строкой, списком, кортежем и random.choice() только одним случайным элементом.

В функции random.choices() k — количество возвращаемых элементов. Предположим, мы не упоминаем значение параметра k, random.choices() возвращает один элемент из последовательности или списка.

Пример 1:

В этом примере мы предоставляем последовательность(список) в качестве параметра и возвращаем один случайный элемент.

 
import random 
listValue =  
item = random.choice(listValue) 
print("random item from list is: ", item) 

Выход:

random item from list is:  10  

Пример 2:

Функция random.choices() в основном используется для возврата случайных элементов с различными возможностями. Эта функция также принимает вес(k) — количество случайных выборов. Например, мы хотим напечатать 3 случайных названия фильмов из списка 5 фильмов.

 
import random 
movieList =  
randomMovies = random.choices(movieList, k=3) 
print("random movies from list are: ", randomMovies) 

Выход:

random movies from list are:   

Пару слов о криптографии

Выше мы показали ряд методов, однако их будет недостаточно, если идет разговор о создании функций с криптографической защитой. Для этих целей можно задействовать Web Cryptography API и создать типизированный array:

То есть мы создаем массив, где есть восемь слотов, причем каждый из них способен содержать 16-битное беззнаковое целое число. Можно выбрать и другие варианты:

  • int16Array,
  • Int8Array,
  • Uint8Array,
  • Int32Array,
  • Uint32Array.

Теперь мы можем заполнить array рандомными числами конкретного типа:

Пример выборки следующий:

У Web Cryptography API — хорошая поддержка в современных веб-браузерах, хотя иногда нужно использовать префиксы.

Хотите получить более глубокие знания по JavaScritpt? Обратите внимание на курсы по JS в Otus!

При подготовке статьи использовались следующие материалы:

  • http://thenewcode.com/82/Recipes-for-Randomness-in-JavaScript;
  • https://habr.com/ru/company/ruvds/blog/534108/.

5 последних уроков рубрики «PHP»

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак

В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение

В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Генерация случайных буквенно-цифровых строк в PHP

Существует множество способов генерации случайных буквенно-цифровых строк, и то, что вы используете, будет зависеть от ваших потребностей.

Создание перетасованных строк

Если вы хотите генерировать случайные буквенно-цифровые строки из фиксированного набора символов, вы можете использовать функцию . Эта функция предоставит вам случайную перетасованную строку. Начиная с PHP 7.1, алгоритм, который определяет случайный порядок символов в выходной строке, был изменен на Mersenne Twister.

Помните, что случайная строка, сгенерированная таким образом, не является криптографически безопасной. Тем не менее, строка по-прежнему будет довольно непредсказуемой для общего использования, например, для генерации случайных имен файлов или URL-адресов. Вот несколько примеров:

В обоих случаях ваш результат, скорее всего, будет разным. В первом случае мы просто перетасовали допустимую строку символов, а затем взяли первые 10 символов. Во втором случае мы добавили «video» в начале сгенерированной строки и «.mp4» в конце.

Этот способ генерации случайных буквенно-цифровых строк очень прост, но у него есть несколько проблем. Например, вы никогда не получите одинаковые символы в своей случайной строке дважды. Кроме того, длина строки случайного вывода может достигать только длины входной строки.

Создание случайных строк

Если проблемы, перечисленные выше, являются неприемлемыми, вы можете посмотреть на некоторые другие реализации. Следующий код поможет решить эти проблемы.

Вы можете изменить его, чтобы добавить определенные суффиксы и префиксы к сгенерированной случайной строке. Люди, которые используют PHP 7, могут улучшить генерацию строк дальше, используя криптографически защищенную функцию вместо .

Создание случайных шестнадцатеричных строк

Если вы хотите генерировать случайные шестнадцатеричные строки в PHP, вы также можете использовать либо , либо функцию . Обе они будут генерировать хэши входной строки.

Вы будете получать уникальные хэши, пока вход уникален. Этого можно добиться, используя результат функции, такой как в качестве входного параметра. По умолчанию вернет шестнадцатеричную строку с 32 символами, а вернет 40-значную шестнадцатеричную строку. Их можно обрезать до определенной длины, используя функцию .

Ниже приведен пример вывода, возвращаемого этими функциями:

Как вы можете видеть, генерация случайных и уникальных шестнадцатеричных строк длиной до 40 символов очень проста в PHP.

Генерация криптографически безопасных случайных строк

Три функции генерации случайных буквенно-цифровых строк, которые мы обсуждали до сих пор, не являются криптографически безопасными. К счастью, PHP также имеет функцию для генерации криптографически защищенных псевдослучайных байтов. Параметр определяет длительность строки вывода.

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

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

Зачем нужны функции getstate() и setstate() ?

Если вы получили предыдущее состояние и восстановили его, тогда вы сможете оперировать одними и теми же случайными данными раз за разом. Помните, что использовать другую функцию random в данном случае нельзя. Также нельзя изменить значения заданных параметров. Сделав это, вы измените значение состояния .

Для закрепления понимания принципов работы и в генераторе случайных данных Python рассмотрим следующий пример:

Python

import random

number_list =

print(«Первая выборка «, random.sample(number_list,k=5))

# хранит текущее состояние в объекте state
state = random.getstate()

print(«Вторая выборка «, random.sample(number_list,k=5))

# Восстанавливает состояние state, используя setstate
random.setstate(state)

#Теперь будет выведен тот же список второй выборки
print(«Третья выборка «, random.sample(number_list,k=5))

# Восстанавливает текущее состояние state
random.setstate(state)

# Вновь будет выведен тот же список второй выборки
print(«Четвертая выборка «, random.sample(number_list,k=5))

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

importrandom

number_list=3,6,9,12,15,18,21,24,27,30

print(«Первая выборка «,random.sample(number_list,k=5))

 
# хранит текущее состояние в объекте state

state=random.getstate()

print(«Вторая выборка «,random.sample(number_list,k=5))

 
# Восстанавливает состояние state, используя setstate

random.setstate(state)

 
#Теперь будет выведен тот же список второй выборки

print(«Третья выборка «,random.sample(number_list,k=5))

 
# Восстанавливает текущее состояние state

random.setstate(state)

 
# Вновь будет выведен тот же список второй выборки

print(«Четвертая выборка «,random.sample(number_list,k=5))

Вывод:

Shell

Первая выборка
Вторая выборка
Третья выборка
Четвертая выборка

1
2
3
4

Перваявыборка18,15,30,9,6

Втораявыборка27,15,12,9,6

Третьявыборка27,15,12,9,6

Четвертаявыборка27,15,12,9,6

Как можно заметить в результате вывода — мы получили одинаковые наборы данных. Это произошло из-за сброса генератора случайных данных.

Создание случайных чисел в PHP

Существуют три различные функции для генерации случайных чисел в PHP. Все они будут принимать минимальное и максимально возможное значение для случайных чисел и выдавать случайное число для вас. Это , и .

С минимальные и максимальные значения целых чисел, которые вы можете генерировать, лежат между и значением, возвращаемым функцией . До PHP 7.1.0 эта функция была примерно в четыре раза медленнее, чем . Однако, начиная с PHP 7.1.0, она была создана как псевдоним . В отличие от , вы можете установить значение меньше, чем , не вызывая ошибки.

С минимальные и максимальные значения целых чисел, которые вы можете генерировать, лежат между и значением, возвращаемым . Функция использует реализацию Mersenne Twister для генерации случайных чисел. Остерегайтесь, до PHP 7.1.0, эта функция реализовывала неверную версию алгоритма для генерации чисел. Однако он был исправлен в более новых версиях.

Функция стала еще лучше в PHP 7.2.0, избавившись от ошибки модульного смещения. Это означает, что для некоторых конкретных значений ваша последовательность случайных чисел теперь будет немного лучше по сравнению со старыми версиями. Однако какой-то специализированный код может действительно полагаться на эту предвзятость. Если это так, вы можете использовать более старый алгоритм, вызвав функцию для задания начального числа для генератора случайных чисел и передачи в качестве значения второго параметра.

Функция имеет период 219937-1, что в основном означает, что в наилучших сценариях вы получаете целых 219937-1 случайных чисел до того, как последовательность начнет повторяться. Следует отметить, что повторение последовательности не совпадает с повторением определенного числа. Другими словами, вы можете получить одно и то же случайное число дважды, но это не значит, что сама последовательность начала повторяться. Примером может служить следующая последовательность:

В приведенной выше последовательности у нас было 1267 два раза на выходе, но это не означает, что после этого вся последовательность начала повторяться. Маловероятно, чтобы такое же число повторялось так быстро в случайной последовательности, но это возможно!

Криптографически безопасные случайные целые числа

Если вы хотите криптографически безопасные псевдослучайные числа, функция в PHP — ваш лучший выбор. Он будет генерировать случайные числа между предоставленными значениями и , которые по умолчанию соответствуют и . К сожалению, эта функция доступна только с PHP 7.0. Для версий до этого вы можете использовать этот полифилл на GitHub.

Случайные числа с плавающей точкой

Вместо генерации случайных целых чисел вы также можете генерировать числа с плавающей точкой. Это можно сделать легко, просто разделив случайное число на значение, возвращаемое . В следующем примере будет проиллюстрировано, как создать случайное значение с плавающей точкой от 0 до 1 или между любыми другими минимальными и максимальными пределами.

При генерации случайного числа с плавающей точкой между заданными пределами мы убеждаемся, что случайные целые числа не превышают . Таким образом, мы можем быть уверены, что добавление float-части не займет числа выше максимального предела.

Изменение начального числа генераторов случайных чисел

Одна концепция, которая нуждается в небольшом объяснении, — это начальные числа. Проще говоря, это просто цифры, которые можно использовать для инициализации функций и перед генерированием случайных чисел. Функция, которая изменяет начальное число генератора псевдослучайных чисел называется , и функция, которая изменяет начальное число генератора псевдослучайных чисел называется .

Важно помнить, что предоставление начального значения случайного числа за один раз до вызова и не обязательно приведет к получению более качественных случайных чисел. Фактически, использование одного и того же начального случайного числа каждый раз даст вам одно и то же случайное число!. Изменение случайного числа полезно в ситуациях, когда вы хотите создать случайную, но воспроизводимую последовательность

Следующий фрагмент кода генерирует одну и ту же последовательность случайных чисел при повторном запуске

Изменение случайного числа полезно в ситуациях, когда вы хотите создать случайную, но воспроизводимую последовательность. Следующий фрагмент кода генерирует одну и ту же последовательность случайных чисел при повторном запуске.

Генерирование воспроизводимых случайных последовательностей таким образом может помочь отлаживать программы, которые тестировались с использованием случайных данных — если вы отслеживаете начальное случайное число, вы можете воспроизвести тот же ввод, чтобы выяснить, что пошло не так.

Класс Random

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

namespace KUBIK_POKER
{
    class Program
    {
        static void Main(string[] args) 
        {
            for (int i = 1; i < 6; i++) //Цикл на 5 “бросков” 
            {
                Random sluchainaya_velichina = new Random(); //обращение к классу случайных величин
                int kubik = sluchainaya_velichina.Next(1, 6); //переменная kubik принимает значение от 1 до 6 
                Console.Write(kubik + " | "); //   Вывод на экран результата броска
            }

        }
    }
}

Мы использовали метод и указали в качестве аргумента диапазон значений (левое число включается, правое — нет).

Специальный инструмент

Генератор случайных чисел можно найти в пакете анализа данных, который активируется через надстройки Excel. Чтобы воспользоваться этой функцией, необходимо нажать отдельную кнопку во вкладке Данные на Панели инструментов и из списка выбрать нужную строку.

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

В результате получилось следующее:

Как видите, в редакторе существует несколько способов задания произвольного числа

Если нужны какие-то ограничения, то используйте встроенные функции, а если важно наличие случайного значения, то генератор из анализа данных подойдет лучше

Жми «Нравится» и получай только лучшие посты в Facebook ↓

Рассмотрим Нормальное распределение. С помощью функции MS EXCEL НОРМ.РАСП() построим графики функции распределения и плотности вероятности. Сгенерируем массив случайных чисел, распределенных по нормальному закону, произведем оценку параметров распределения, среднего значения и стандартного отклонения.

Нормальное распределение (также называется распределением Гаусса) является самым важным как в теории, так в приложениях системы контроля качества

Важность значения Нормального распределения (англ. Normal distribution) во многих областях науки вытекает из Центральной предельной теоремы теории вероятностей

Определение: Случайная величина x распределена по нормальному закону, если она имеет плотность распределения:

Нормальное распределение зависит от двух параметров: μ (мю) — является математическим ожиданием (средним значением случайной величины), и σ (сигма) — является стандартным отклонением (среднеквадратичным отклонением). Параметр μ определяет положение центра плотности вероятности нормального распределения, а σ — разброс относительно центра (среднего).

Примечание: О влиянии параметров μ и σ на форму распределения изложено в статье про Гауссову кривую, а в файле примера на листе Влияние параметров можно с помощью элементов управления Счетчик понаблюдать за изменением формы кривой.

Игра в кости с использованием модуля random в Python

Далее представлен код простой игры в кости, которая поможет понять принцип работы функций модуля random. В игре два участника и два кубика.

  • Участники по очереди бросают кубики, предварительно встряхнув их;
  • Алгоритм высчитывает сумму значений кубиков каждого участника и добавляет полученный результат на доску с результатами;
  • Участник, у которого в результате большее количество очков, выигрывает.

Код программы для игры в кости Python:

Python

import random

PlayerOne = «Анна»
PlayerTwo = «Алекс»

AnnaScore = 0
AlexScore = 0

# У каждого кубика шесть возможных значений
diceOne =
diceTwo =

def playDiceGame():
«»»Оба участника, Анна и Алекс, бросают кубик, используя метод shuffle»»»

for i in range(5):
#оба кубика встряхиваются 5 раз
random.shuffle(diceOne)
random.shuffle(diceTwo)
firstNumber = random.choice(diceOne) # использование метода choice для выбора случайного значения
SecondNumber = random.choice(diceTwo)
return firstNumber + SecondNumber

print(«Игра в кости использует модуль random\n»)

#Давайте сыграем в кости три раза
for i in range(3):
# определим, кто будет бросать кости первым
AlexTossNumber = random.randint(1, 100) # генерация случайного числа от 1 до 100, включая 100
AnnaTossNumber = random.randrange(1, 101, 1) # генерация случайного числа от 1 до 100, не включая 101

if( AlexTossNumber > AnnaTossNumber):
print(«Алекс выиграл жеребьевку.»)
AlexScore = playDiceGame()
AnnaScore = playDiceGame()
else:
print(«Анна выиграла жеребьевку.»)
AnnaScore = playDiceGame()
AlexScore = playDiceGame()

if(AlexScore > AnnaScore):
print («Алекс выиграл игру в кости. Финальный счет Алекса:», AlexScore, «Финальный счет Анны:», AnnaScore, «\n»)
else:
print(«Анна выиграла игру в кости. Финальный счет Анны:», AnnaScore, «Финальный счет Алекса:», AlexScore, «\n»)

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
39
40
41
42
43
44
45

importrandom

PlayerOne=»Анна»

PlayerTwo=»Алекс»

AnnaScore=

AlexScore=

 
# У каждого кубика шесть возможных значений

diceOne=1,2,3,4,5,6

diceTwo=1,2,3,4,5,6

defplayDiceGame()

«»»Оба участника, Анна и Алекс, бросают кубик, используя метод shuffle»»»

foriinrange(5)

#оба кубика встряхиваются 5 раз

random.shuffle(diceOne)

random.shuffle(diceTwo)

firstNumber=random.choice(diceOne)# использование метода choice для выбора случайного значения

SecondNumber=random.choice(diceTwo)

returnfirstNumber+SecondNumber

print(«Игра в кости использует модуль random\n»)

 
#Давайте сыграем в кости три раза

foriinrange(3)

# определим, кто будет бросать кости первым

AlexTossNumber=random.randint(1,100)# генерация случайного числа от 1 до 100, включая 100

AnnaTossNumber=random.randrange(1,101,1)# генерация случайного числа от 1 до 100, не включая 101

if(AlexTossNumber>AnnaTossNumber)

print(«Алекс выиграл жеребьевку.»)

AlexScore=playDiceGame()

AnnaScore=playDiceGame()

else

print(«Анна выиграла жеребьевку.»)

AnnaScore=playDiceGame()

AlexScore=playDiceGame()

if(AlexScore>AnnaScore)

print(«Алекс выиграл игру в кости. Финальный счет Алекса:»,AlexScore,»Финальный счет Анны:»,AnnaScore,»\n»)

else

print(«Анна выиграла игру в кости. Финальный счет Анны:»,AnnaScore,»Финальный счет Алекса:»,AlexScore,»\n»)

Вывод:

Shell

Игра в кости использует модуль random

Анна выиграла жеребьевку.
Анна выиграла игру в кости. Финальный счет Анны: 5 Финальный счет Алекса: 2

Анна выиграла жеребьевку.
Анна выиграла игру в кости. Финальный счет Анны: 10 Финальный счет Алекса: 2

Алекс выиграл жеребьевку.
Анна выиграла игру в кости. Финальный счет Анны: 10 Финальный счет Алекса: 8

1
2
3
4
5
6
7
8
9
10

Игравкостииспользуетмодульrandom

 
Аннавыигралажеребьевку.

Аннавыигралаигрувкости.ФинальныйсчетАнны5ФинальныйсчетАлекса2

 
Аннавыигралажеребьевку.

Аннавыигралаигрувкости.ФинальныйсчетАнны10ФинальныйсчетАлекса2

 
Алексвыигралжеребьевку.

Аннавыигралаигрувкости.ФинальныйсчетАнны10ФинальныйсчетАлекса8

Вот и все. Оставить комментарии можете в секции ниже.

Псевдослучайные числа

Вупаковкапредоставленный стандартной библиотекой Go дает намгенераторы псевдослучайных чисел (PRNG), также называемыйдетерминированные генераторы случайных битов.

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

В качестве примера попробуйте запустить этот код, который вводит, который возвращает случайное число междуи.

Вы всегда будете видеть одну и ту же последовательность при каждом запуске программы. Случайное число меняется внутри программы, но каждый раз, когда вы ее запускаете, вы получаете один и тот же результат:

Это потому, что по умолчанию семя всегда одно и то же, число. Чтобы действительно получить случайное число, вам нужно предоставить уникальноесемядля вашей программы. Вы действительно хотите не забыть о заполнении, а вместо этого правильно заполнить наш генератор псевдочумов. Как?

Использоватьперед звонком в любойметод, передаваяценить. Вам просто нужно один раз засеять свою программу, а не каждый раз, когда вам нужно случайное число. Наиболее часто используемым начальным значением является текущее время, преобразованное вкс:

Помните, что из-за изолированности Go Playground всегда начинается с одного и того же времени, поэтому этот код не будет работать должным образом. Попробуйте это в реальной среде, и числа, которые раньше не менялись, теперь будут печататься по-разному при каждом запуске программы.

Некоторые распространенные примеры перечислены ниже для удобства повторного использования:

Сгенерировать случайную строку

Вернет 10 символов в верхнем регистре. Изменять

к

только для строчных букв.

Если вместо этого вы хотите иметь пул определенных символов для выбора, используйте

Изменятькесли вы используете строки, отличные от ascii, каксчитает байты, но не все символы занимают только один байт в Юникоде — см.https://stackoverflow.com/questions/12668681/how-to-get-the-number-of-characters-in-a-string.

Использование random.choice()

Функция random.choice() используется в строке Python для генерации последовательности символов и цифр, которые могут повторять строку в любом порядке.

Создадим программу для генерации случайной строки с помощью функции random.choices().

Random_str.py

 
import string   
import random # define the random module 
S = 10  # number of characters in the string. 
# call random.choices() string module to find the string in Uppercase + numeric data. 
ran = ''.join(random.choices(string.ascii_uppercase + string.digits, k = S))   
print("The randomly generated string is : " + str(ran)) # print the random data 

Выход:

Ниже приведен метод, используемый в модуле random для генерации случайной строки.

Методы Описание
String.ascii_letters Возвращает случайную строку, содержащую как прописные, так и строчные буквы.
String_ascii_uppercase Это метод случайной строки, который возвращает только строку в верхнем регистре.
String.ascii_lowercase Метод случайной строки, который возвращает строку только в нижнем регистре.
String.digits Возвращает строку с числовыми символами.
String.punctuation Метод, возвращающий строку с символами пунктуации.

Сгенерировать случайную строку из прописных и строчных букв:

UprLwr.py

 
# write a program to generate the random string in upper and lower case letters. 
import random 
import string 
def Upper_Lower_string(length): # define the function and pass the length as argument 
    # Print the string in Lowercase 
    result = ''.join((random.choice(string.ascii_lowercase) for x in range(length))) # run loop until the define length 
    print(" Random string generated in Lowercase: ", result) 
 
    # Print the string in Uppercase 
    result1 = ''.join((random.choice(string.ascii_uppercase) for x in range(length))) # run the loop until the define length 
    print(" Random string generated in Uppercase: ", result1) 
 
Upper_Lower_string(10) # define the length 

Выход:

Случайная строка указанных символов:

Specific.py

 
# create a program to generate the random string of given letters. 
import random 
import string 
def specific_string(length): 
    sample_string = 'pqrstuvwxy' # define the specific string 
    # define the condition for random string 
    result = ''.join((random.choice(sample_string)) for x in range(length)) 
    print(" Randomly generated string is: ", result) 
 
specific_string(8) # define the length 
specific_string(10) 

Выход:

Сгенерировать случайную строку без повторения одних и тех же символов:

БезRepeat.py

 
# create a program to generate a string with or without repeating the characters. 
import random 
import string 
print("Use of random.choice() method") 
def specific_string(length): 
    
    letters = string.ascii_lowercase # define the lower case string 
     # define the condition for random.choice() method 
    result = ''.join((random.choice(letters)) for x in range(length)) 
    print(" Random generated string with repetition: ", result) 
 
specific_string(8) # define the length 
specific_string(10) 
 
 
print("") # print the space 
print("Use of random.sample() method") 
def WithoutRepeat(length): 
    letters = string.ascii_lowercase # define the specific string 
    # define the condition for random.sample() method 
    result1 = ''.join((random.sample(letters, length)))  
    print(" Random generated string without repetition: ", result1) 
 
WithoutRepeat(8) # define the length 
WithoutRepeat(10)  

Выход:

Как видно из вышеприведенного вывода, метод random.sample() возвращает строку, в которой все символы уникальны и не повторяются. В то время как метод random.choice() возвращает строку, которая может содержать повторяющиеся символы. Итак, можно сказать, что если мы хотим сгенерировать уникальную случайную строку, нужно использовать метод random.sample().

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: