Micro:bit MicroPython 教程 7.1 Python中的随机数

MicroPython提供了一个对象用来生成随机数,他就是random可以轻松为你的代码引入随机和混乱。

1. 随机选择

  • 有时候你想让事情变得无序一点,让程序看似有自己的想法,这时候你需要生成一些随机的东西,MicroPython提供了一个对象用来生成随机数,他就是random可以轻松为你的代码引入随机和混乱。

  • random对象可以从提供的列表字符串元组等符合数据类型中,随机选择一个元素作为参数返回,例如:

from microbit import *
import random

str_list = ["A","B","C","D","E","F","G"]

display.show(random.choice(str_list))
  • 上边的例子代码完成了一个随机选择功能,random.choice这个方法为从参数中选择一个元素作为参数返回,例子中从number列表里选择了A-G中间一个字母返回,并且显示在点阵显示屏上,每次上电运行时,字母都可能不一样。

2. 随机数字

  • 随机数字非常有用,在游戏中非常常见,还有需要程序自己完成的选择代码也很常见。

  • MicroPython附带了几个很有用的生成随机数的方法,例如:

from microbit import *
import random

display.show(str(random.randint(1,6)))
  • 上边的代码完成了一个随机数字的功能,每次上电运行时显示的数字都可能不一样。

  • 如果你需要生成一个带有指定步幅的列表,可以使用random.randrange(start,stop,step),start表示开始的范围,包括开始,stop表示结束的范围,不包括结束。step表示步幅。例如:

 
random.randrange(1,10,2)		#生成1到10之间的基数。

  • 有时候你需要生成带有小数点的数字,这些数字被成为浮点数,可以使用random.random()的方法生成带有小数的数字,它生成的范围是0.0到1.0之间。

3. 随机数相关API

API 描述
random.seed() 使用已知整数初始化随机数生成器n。这将从给定的起始状态(n)给出可重现的确定的随机性。
random.randint(a,b) 返回一个随机整数N,范围a <= N <= b
random.randrange(stop) 返回0到stop(但不包括)之间随机选择的整数。
random.randrange(start, stop) 从start到stop中返回一个随机选择的整数。
random.randrange(start, stop, step) 从中返回随机选择的元素。
random.choice(seq) 从非空序列中返回一个随机元素seq。如果seq是空的,报错IndexError
random.random() 返回[0.0,1.0]范围内的下一个随机浮点数
random.uniform(a, b) 返回随机浮点数N,使得对a <= N <= b。
- 本文内容来自网络,如有侵权,请联系本站处理。

2022-04   阅读(9)   评论(0)
 标签: 编程 MicroBit MicroPython

涨知识
编码器

编码器是一种用来测量机械旋转或位移的传感器。它能够测量机械部件在旋转或直线运动时的位移位置或速度等信息,并将其转换成一系列电信号。

评论:
相关文章
ESP32 MicroPython存储数据到闪存

在MicroPython的ESP32库中,NVS类用于管理非易失性存储,支持 32 位有符号整数和 二进制blob。


MicroPython umqtt库的使用

umqtt 是 MicroPython 的一个轻量级 MQTT 客户端库,使得在微控制器上使用 MQTT 协议变得简单易行。本文将介绍 umqtt 的实用方法,帮助您更好地在项目中应用这一技术。


小鹏物联网 MicroPython 图像采集方案

本方案是一个基于ESP32-CAM + 物联网的图像采集方案。


esp32cam开发板烧录micropython固件

‌ESP32-CAM与MicroPython结合可实现摄像头图像采集、视频流传输等功能,不过Micropython官方没有支持ESP32-CAM的固件,需要烧录第三方的专有固件。


小鹏物联网 MicroPython 智能浇花方案

相信很多人都有把绿植给养死的经历,可能是浇水过多、忘记浇水、较长时间不在家不能浇水等,本文介绍一种可以灵活定制的智能浇花方案。


MicroPython 开发ESP32应用之线程介绍及实例分析

MicroPython 在 ESP32 上支持线程(Thread)功能,通过_thread模块实现。线程允许程序并发执行多个任务,适合处理需要同时运行的场景,例如传感器数据采集和网络通信。


ESP32 MicroPython采集模拟传感器数值

使用了 MicroPython 库,通过 定时器(Timer) 和 ADC(模数转换器) 功能来实时读取传感器数据。使用定时器可以实现高精度、非阻塞、低资源消耗的周期性任务,保证实时性和可靠性,特别适用于嵌入式系统中的多任务处理和低功耗场景。


Raspberry Pi Pico TFT LCD 触摸屏使用教程

本教程将向您展示如何使用micropython脚本设置Pico和TFT触摸显示屏。您将学习如何使用触摸屏控制Pico以及如何在屏幕上显示信息。


ESP32 MicroPython外部引脚中断处理

本文旨在介绍如何在运行MicroPython的ESP32上使用外部引脚中断功能。


ESP32 MicroPython功耗控制

本节内容为大家讲解ESP32使用MicroPython的功耗控制方法。