Синтаксис:
randint (начало, конец)
Параметры:
(начало, конец): Оба они должны быть значениями целочисленного типа.
Возвращает:
случайное целое число в заданном диапазоне в качестве параметров.
Ошибки и исключения:
ValueError: возвращает ValueError, когда в качестве параметров передаются значения с плавающей запятой. TypeError: возвращает TypeError, когда в качестве параметров передаются любые значения, кроме числовых.
Код № 1:
# Программа Python3, объясняющая, как это работает
# функция randint()
# импортирует случайный модуль
import
random
# Генерирует случайное число между
# указанным положительным диапазоном
r1
=
random.randint(
0
,
10
)
print
(
"Случайное число от 0 до 10 равно %s"
%
(r1))
# Генерирует случайное число между
# двумя указанными отрицательными диапазонами
r2
=
random.randint(
-
10
,
-
1
)
print
(
"Случайное число между -10 и -1 равно %d"
%
(r2))
# Генерирует случайное число из
# положительных и отрицательных диапазонов
r3
=
random.randint (
-
5
,
5
)
print
(
"Случайное число между -5 и 5 равно %d"
%
(r3))
Вывод:
Случайное число от 0 до 10 равно 5 Случайное число от -10 до -1 равно -7 Случайное число от -5 до 5 равно 2
Код # 2 : Программа, показывающая ValueError.
# импортирует случайный модуль
import
random
' ' ' Если мы передаем значения с плавающей запятой в качестве параметров
в функцию randint() ' ' '
r1
=
случайный. randint (
1.23
,
9.34
)
print
(r1)
Выход:
Отслеживание (последний последний вызов): файл "/home/f813370b9ea61dd5d55d7dadc8ed5171.py", строка 6, в r1 = random.randint (1.23, 9.34) Файл "/usr/lib/python3.5/random.py", строка 218, в randint return self.randrange(a,b+1) Файл "/usr/lib/python3. 5/random.py", строка 182, в randrange поднять ValueError ("нецелочисленный аргумент 1 для randrange()") ValueError: нецелочисленный аргумент 1 для randrange()
Код # 3: Программа, показывающая TypeError.
# импортирует случайный
import
случайный
' ' ' Если мы передаем строковые или символьные литералы в качестве параметров
в функции randint() ' ' '
r2
=
случайный. randint (
`a`
,
`z`
)
print
(r2)
Вывод:
Отслеживание (последний последний вызов): Файл "/home/fb805b21fea0e29c6a65f62b99998953.py", строка 5, в r2 = random.randint(`a`, `z`) File "/usr/lib/python3.5/random.py", строка 218, в randint return self.randrange(a, b + 1) TypeError : Невозможно неявно преобразовать объект int в str
Применения:
Функция randint() может использоваться для моделирования ситуации счастливого розыгрыша.
Допустим, пользователь принял участие в розыгрыше лотереи. У пользователя есть три попытки угадать число от 1 до 10. При правильном угадывании пользователь выигрывает, в противном случае проигрывает.
# import функции randint
# из случайного модуля
from
random
import
randint
# Функция, которая генерирует новую
# случайное число при каждом выполнении
def
генератор ():
return
randint (
1
,
10
# Функция принимает пользовательский ввод и возвращает
# true или false в зависимости от того,
# пользователь выиграл счастливый розыгрыш!
def
rand_guess ():
# вызывает генератор(), который возвращает
# случайное целое число от 1 до 10
random_number
=
генератор ()
# квантификация
# предположения, которые получает пользователь
Guess_Left
=
3
# Установка переменной флага в проверьте
# условие победы для пользователя
flag
=
0
# количество циклов
# пользователь получает шансы
while
Guess _left > ;
0
:
# Принятие пользовательский ввод
угадать
=
int
(
input
(
"Выберите номер"
"участвуйте в розыгрыше"
))
# проверка правильности предположения пользователя
# соответствует сгенерированному условию выигрыша
if
угадать
=
=
random_number:
# установка флага в 1, если пользователь угадал
# правильно, после чего цикл завершается
флаг
=
1
break
else
:
# Если выбор пользователя не соответствует
# win-условие, то печатается
print
(
"Неверное предположение!!"
)
# Уменьшить количество
# догадок осталось 1
guess_left
-
=
1
# Если условие выигрыша выполнено
# Функция rand_guess возвращает True
if
флаг
is
1
:
return
True
# В противном случае функция возвращает False
else
:
return
False
# Код драйвера
if
__ name__
=
=
`__main__`
:
if
rand_guess()
is
True
:
print
(
" Поздравляем! Ты победил. "
)
else
:
print
(
"Извините, вы проиграли!"
)
Вывод:
Выберите свой номер, чтобы принять участие в розыгрыше 8 Неверное предположение !! Выберите свой номер, чтобы принять участие в розыгрыше 9 Неверное предположение !! Выберите свой номер, чтобы принять участие в розыгрыше 0 Поздравляем !! Вы выиграли.