python中【random】函数用法、randint(a, b)、random( )、uniform(a, b)、shuffle(序列)、sample( )

1、random.randint(a, b)  —— 随机生成一个整数,范围在[a,b]之间 ——闭区间

即:生成指定范围内的整数。

注意:a、b必须是整数

import random

a = random.randint(1, 3)  # 从1~3里随机生成一个整数,包括1和3
print(a)
# 结果:
1 或者2 或者 3

2、random.random( ) ——随机生成一个浮点数,范围在[0,1)之间 ——左闭右开

import random

a = random.random()
print(a)
# 结果:
0.010555497939993108

3、random.uniform(a, b) ——随机生成一个浮点数,范围在[a,b)之间 ——左闭右开

import random

a = random.uniform(1, 3)
print(a)
# 结果:
1.2921501572960141

4、random.shuffle(x) ——将一个列表中的元素打乱

import random
x = [1, 2, 3, 4, 5]
random.shuffle(x)  # !!!
print(x)

# 结果:
[1, 3, 5, 2, 4]  或者 [2, 1, 4, 5, 3] .....

再比如:利用range( )范围函数,生成列表

x = list(range(10))  # 生成列表:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(x)

# 结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


# 现在把它打乱
x = list(range(10))
random.shuffle(x)
print(x)

# 结果:
[4, 5, 9, 2, 8, 7, 1, 3, 0, 6]  

或 [8, 9, 7, 2, 1, 6, 5, 0, 4, 3] ....

5、random.sample(序列, k) ——从指定序列中,随机获取指定长度k的片段

# 例1
import random
x = [1, 3, 2, 5, 6]
a = random.sample(x, 3)
print(a)
# 结果:
[5, 2, 3]

或者[1, 6, 3] ....


# 例2
a = random.sample(range(10), 3)
print(a)
# 结果:
[3, 0, 5]
或者:[8, 6, 5] .....

sample( )函数不会修改原有序列。

import random
x = [1, 3, 2, 5, 6]
a = random.sample(x, 3)
print(a)
print("原来序列:", x)

# 结果:
[2, 5, 6]
原来序列: [1, 3, 2, 5, 6]

### 如何将程序烧录到STM32F103C8T6最小系统板 #### 准备工作 为了成功地将程序烧录到STM32F103C8T6最小系统板上,需准备以下工具和材料: - STM32F103C8T6最小系统板 - ST-Link V2 或者其他兼容的ST-Link调试器/编程器 - USB数据线用于连接计算机与ST-Link设备 - 开发环境(如Keil MDK, IAR Embedded Workbench, STM32CubeIDE) #### 烧录过程 对于STM32系列微控制器而言,通常会把Bootloader放置于`0x8000000`地址处[^1]。然而,在实际应用中,大多数情况下并不直接操作Bootloader而是利用现成的开发工具链来完成整个编译链接以及最终的目标文件生成。 当准备好上述提到的所有必要组件之后,可以按照下面的方法来进行固件上传: 1. 将ST-Link通过Micro USB接口连接至个人电脑,并确保驱动已正确安装; 2. 使用跳帽或者杜邦线将ST-Link上的SWDIO、SWCLK、GND、NRST四个信号端子分别对应接到目标板相同名称的位置上去;如果采用的是四针排母形式,则可以直接插上即可[^2]; 3. 打开所使用的集成开发环境(IDE),加载项目工程并构建得到`.hex`或`.bin`格式的目标二进制映像文件; 4. 启动配套提供的Flash Loader Demonstration软件或者其他第三方flasher应用程序,设置好通信参数后点击“Program”按钮执行刷机动作直至提示顺利完成为止。 值得注意的是,除了官方推荐的方式外还可以借助串口实现在线更新功能,不过这往往涉及到额外的设计考量比如电路布局调整以适应UART协议的要求等复杂情况因此这里不做赘述。 ```cpp // 示例:简单的LED闪烁代码片段适用于STM32F103C8Tx芯片 #include "stm32f1xx_hal.h" int main(void){ HAL_Init(); __HAL_RCC_GPIOA_CLK_ENABLE(); // 使能GPIOA时钟 GPIO_InitTypeDef GPIO_InitStruct = {0}; GPIO_InitStruct.Pin = GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOA,&GPIO_InitStruct); while (true){ HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5); // 切换PA5引脚电平状态 HAL_Delay(500); // 延迟半秒时间 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值