1、浮点数random.random()

的返回值是在 [0, 1)(左闭右开区间)内的随机浮点数。这意味着它可以取到 0,但不包括 1。所以,random.random() 可以返回 0,但不能返回 1。

import random
print(random.random()) # [0, 1)
print(random.random())
print(random.random())
print(random.random()) #运行结果
0.972903402223027
0.37113786347410194
0.4911954551770671
0

2、随机小数random.uniform(a, b)

random 模块中的一个函数,用于生成指定范围 [a, b] 内的随机浮点数。在下面例子中,random.uniform(5, 9) 会生成一个介于 [5, 9) (左闭右开区间:包括 5 但不包括 9)的随机浮点数。

import random
print(random.uniform(5, 9)) #[5, 9)
print(random.uniform(5, 9)) #运行结果
6.919123231219793
5

3、随机整数random.randint(a, b)

用于生成指定范围 [a, b] 内的随机整数。在下面例子中,random.randint(3, 8) 会生成一个介于[3, 8](全闭区间:包括 3 和 8)的随机整数。

import random
print(random.randint(3, 8)) #[3, 8]
print(random.randint(3, 8)) #运行结果
8
5

4、随机选择一个元素并返回random.choice(seq)

seq: 非空序列,可以是列表、元组、字符串等。用于从非空序列 seq 中随机选择一个元素并返回。

import random

lst = [1, 2, 3, 4, 5]
print(random.choice(lst)) #运行结果
3

5、随机返回多个元素并返回random.sample(seq, k)

seq: 非空序列,可以是列表、元组、字符串等。用于从非空序列 seq 中随机选择k个元素并返回。顺序是随机的。

lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3)) #k=3,选择返回3个 #运行结果
[4, 3, 5]

6、练习题:

1、随机生成四位验证码

chr(): 这是一个内置函数,用于将 ASCII 码值转换为对应的字符。在这里,chr() 函数接收生成的随机整数作为参数,然后返回对应的大写、小写字母字符。

str(): 这是一个内置函数,用于将数字、字符等数据类型转换为字符串。

def rand_upper():
return chr(random.randint(65, 90)) #ASCII 码中65-90的数字代表大写字母 def rand_lower():
return chr(random.randint(97, 122)) #ASCII 码中97-122的数字代表小写字母 def rand_num():
return str(random.randint(0, 9)) #str能够得到一个随机的数字字符的字符串,而不会涉及到 ASCII 码的转换。 def ran_verify_code(n = 4):
lst = []
for i in range(n):
count =random.randint(1, 3)
if count == 1:
s = rand_upper()
elif count == 2:
s = rand_lower()
elif count == 3:
s = rand_num()
lst.append(s)
return ''.join(lst) #lst包含了生成的随机字符的列表,通过 join 方法将它们连接成为一个字符串,而不是4个独立的元素列表 code = ran_verify_code()
print("生成的验证码:", code)

.join()用法Python——第二章:替换和切割

还可以用string函数,调用大写字母、小写字母、数字

import random
import string def rand_upper():
return random.choice(string.ascii_uppercase) def rand_lower():
return random.choice(string.ascii_lowercase) def rand_num()
return random.choice(string.digits)

***忽略大小写进行判断:Python——第二章:字符串操作——大小写转换

2、年会抽奖

写一个年会抽奖小程序,奖项如下:

一等奖1名,泰国5日游

二等奖2名,iphone手机一部

三等奖3名,运动手环

规则

1.一共抽3次,第一次抽3等奖,第二次抽2等奖,第三次压轴抽1等奖.

2.每个员工限中奖1次,不能重复.

import random
import time lst = ['赵敏', '张绍刚', '张无忌', '武则天', '嬴政', '马超', '赵云', '诸葛亮']
temp = []
temp.extend(random.sample(lst, 3))
print("三等奖获得者", temp) for item in temp:
lst.remove(item) time.sleep(10)
temp = []
temp.extend(random.sample(lst, 2))
print("二等奖获得者", temp) for item in temp:
lst.remove(item) time.sleep(10)
temp = []
temp.extend(random.sample(lst, 1))
print("一等奖获得者", temp)
for item in temp:
lst.remove(item) time.sleep(10)
print("没获奖名单", lst)

用函数的方式调用,进行抽奖。加深了解形参、实参的概念。

import random
import time lst = ['赵敏', '张绍刚', '张无忌', '武则天', '嬴政', '马超', '赵云', '诸葛亮'] def running(mingdan, jiangxiang, renshu, count=3):
temp = []
print(f"按回车键进行{jiangxiang}等奖抽奖")
input("\n")
temp.extend(random.sample(mingdan, renshu)) for item in temp:
mingdan.remove(item) print(f"{jiangxiang}等奖获得者:", temp)
time.sleep(count) # 第一轮抽3等奖,3名
running(lst, 3, 3)
# 第二轮抽2等奖,2名
running(lst, 2, 2)
# 第三轮抽1等奖,1名
running(lst, 1, 1)
# 输出未中奖名单
print("没获奖人名单:", lst)

Python——第五章:随机模块random的更多相关文章

  1. Python第五章__模块介绍,常用内置模块

    Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群  群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...

  2. 简学Python第五章__模块介绍,常用内置模块

    Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群  群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...

  3. 时间模块 time 随机模块random os模块,sys模块

    时间模块  time #时间模块 import time #三种格式 #时间戳时间:是一个浮点数,以秒为单位,计算机用语 #结构化时间 :是一个元组 #用于中间转换 #格式化时间:str数据类型, 用 ...

  4. 随机模块 random 函数的调用

    随机模块 random 作用: 用于模拟或生成随机输出的模块. 用法示意: import random as R 函数名 描述 R.random() 返回一个[0, 1) 之间的随机实数 R.unif ...

  5. 【Python】随机模块random & 日期时间のtime&&datetime

    ■ random 顾名思义,random提供了python中关于模拟随机的一些方法.这些方法都一看就懂的,不多说了: random.random() 返回0<n<=1的随机实数 rando ...

  6. Python—时间模块(time)和随机模块(random)

    时间模块 time模块 获取秒级时间戳.毫秒级时间戳.微秒级时间戳 import time t = time.time() print t # 原始时间数据 1574502460.90 print i ...

  7. Python第五章实验报告

    一.实验项目名称:<零基础学Python>第五章实战.实例以及两道作业题 二.实验目的和要求:了解和掌握操作字符串的方法和正则表达式的应用 三.实验环境:IDLE(Python 3.9 6 ...

  8. oldboy edu python full stack s22 day16 模块 random time datetime os sys hashlib collections

    今日内容笔记和代码: https://github.com/libo-sober/LearnPython/tree/master/day13 昨日内容回顾 自定义模块 模块的两种执行方式 __name ...

  9. 那些年被我坑过的Python——道阻且长(第五章实用模块讲解)

    random模块 我的随机验证吗程序: 首先保证了字母和数字出现的概率是50% VS 50%,其次是可以订制输出多少位 def Captcha(size): Captcha_list = [] for ...

  10. python中的随机模块random

    random模块是 python 中为随机数所使用的模块 ```import random # 随机生成0-1范围内的随机浮点数i = random.random()print(i) # 随机生成范围 ...

随机推荐

  1. 熟练掌握并充分利用CSS3的新特性,更新完毕。

    1.1  尝试新颖的CSS3特性 首先,我们来看一个具体的案例.  https://code.juejin.cn/pen/7277536985772720139   1.2  CSS3新特性简介和浏览 ...

  2. 《流畅的Python》 读书笔记 第二章数据结构(2) 231011

    2.5 对序列使用+和* 通常 + 号两侧的序列由相同类型的数据所构成,在拼接的过程中,两个被操作的序列都不会被修改,Python 会新建一个包含同样类型数据的序列来作为拼接的结果 +和*都遵循这个规 ...

  3. 安装OpenStack的yum源

    # yum install https://buildlogs.centos.org/centos/7/cloud/x86_64/openstack-liberty/centos-release-op ...

  4. 黄金眼PAAS化数据服务DIFF测试工具的建设实践

    一.背景介绍 黄金眼PAAS化数据服务是一系列实现相同指标服务协议的数据服务,各个服务间按照所生产指标的主题作划分,比如交易实时服务提供实时交易指标的查询,财务离线服务提供离线财务指标的查询.黄金眼P ...

  5. 云图说|初识API中心APIHub

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:API中心是为AP ...

  6. ubuntu 20.1 (linux) 下软件安装教程(基本上都是使用命令行安装)

    一.node 1. 安装教程 # 第二步,添加源后安装 需要什么版本直接替换后面的数字即可,如果需要21,直接将20替换为21就可以了 curl -sL https://deb.nodesource. ...

  7. 2023-10-21:用go语言,一共有三个服务A、B、C,网络延时分别为a、b、c 并且一定有:1 <= a <= b <= c <= 10^9 但是具体的延时数字丢失了,只有单次调用的时间 一次调

    2023-10-21:用go语言,一共有三个服务A.B.C,网络延时分别为a.b.c 并且一定有:1 <= a <= b <= c <= 10^9 但是具体的延时数字丢失了,只 ...

  8. .NET周刊【10月第3期 2023-10-22】

    国内文章 .NET 8 RC 2 发布,将在11月14日发布正式版 https://www.cnblogs.com/shanyou/p/17756172.html 微软于2023年10月10日发布了. ...

  9. Unity - UIWidgets 7. Redux接入(二) 把Redux划分为不同数据模块

    参考QF.UIWidgets 参考Unity官方示例 - ConnectAppCN 前面说过,当时没想明白一个问题,在reducer中每次返回一个new State(), 会造成极大浪费,没想到用什么 ...

  10. Python 潮流周刊#24:no-GIL 提案正式被采纳了!

    你好,我是猫哥.这里每周分享优质的 Python.AI 及通用技术内容,大部分为英文.标题取自其中两则分享,不代表全部内容都是该主题,特此声明. 微信 | 博客 | 邮件 | Github | Tel ...