Случайные числа
MicroPython имеет библиотеку random
, которая может работать со случайными числами
Например вывод случайной буквы:
from microbit import *
import random
names = ["A", "B", "C", "D", "I", "F", "G" ]
display.scroll(random.choice(names))
Создаем список имен names
и подаем его в функцию random.choice
, которая выбирает случайную
букву и выводит его на дисплей.
Попробуйте создать вывод случайной картинки из определенного списка.
Случайные числа
Случайные числа часто используются в играх. Например игральные кости
MicroPython имеет команду random.randint
, которая выводит случайное число в указанном диапазоне:
from microbit import *
import random
display.show(random.randint(1, 6))
Функция random.randint
выводит только целые числа.`
Также есть функция random.randrange
она выводит случайное число не включая пограничные числа.
Функция random.random
возвращает случайную дробную часть в диапазоне от 0.0
до 1.0
.
Например нам нужно случайное число, которое состоит из целой и дробкой части:
from microbit import *
import random
answer = random.randrange(100) + random.random()
display.scroll(str(answer))
Правда о случайности
На самом деле случайные числа не случаны :). Это числа, которые тяжело предсказать заранее. В их расчетов используются множество псевдослучайнах параметров устройсва (время, температура микроконтроллера и т. д.)
Есть функция random.seed
, которая приостанавливает случайность. Именно она используется в расчетах.
Если Вы самостоятельно присвоете ей значение - она вернет всегда одно и тоже число.
Напишите программу, которая ломает случайность :)
from microbit import *
import random
random.seed(1337)
while True:
if button_a.was_pressed():
display.show(random.randint(1, 6))