Случайные числа

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))