python3 random模块随机推荐饭菜_python3笔记16:模块random随机数

# -*- coding:utf-8 -*-

"""

@author:百草

@file:__init__.py.py

@time:2021/01/26

"""

import random

# 1.random.random():0-1之间的随机小数,不包括0和1

a = random.random()

print(a)

# 2. random.randint(a, b):a-b之间的随机整数,包括a和b

b = random.randint(0, 100)

print(b)

# 3. random.uniform(a, b) a-b的随机浮点数,不包括a和b

c = random.uniform(1, 10)

print(c) # 1.3568464793798622

# 源码:

# def uniform(self, a, b):

# "Get a random number in the range [a, b) or [a, b] depending on rounding."

# return a + (b-a) * self.random()

"""

__all__ =["Random","seed","random","uniform","randint","choice","sample",

"randrange","shuffle","normalvariate","lognormvariate",

"expovariate","vonmisesvariate","gammavariate","triangular",

"gauss","betavariate","paretovariate","weibullvariate",

"getstate","setstate", "getrandbits", "choices",

"SystemRandom"]

"""

# 4.random.randrange(start, stop=None, step=1)

# 从指定范围内,按指定的基数递增或递减的集合中获取一个随机数

# start、stop、step可转为int类型,否则报错ValueError

# 空集合报错:ValueError("empty range for randrange()")

# step转为int后不能为0,否则报错:raise ValueError("zero step for randrange()")

d = random.randrange(start=1, stop=100, step=200)

print(d) # 1

# 5.random.choice(sequence) 从序列中获取一个随机元素

# sequence非空且可以通过下标获取

# 为空则报错: IndexError('Cannot choose from an empty sequence')

# 若无法通过下标获取,则报错:keyError

# li = [1, 2, 3, 'a', 4, 'b']

# li = (1, 2, 3, 'a', 4, 'b')

# li = {1: 2, 3: 'a', 4: 'b'} # 字典类型时,报错:keyError

li = '12345abcd'

e = random.choice(li)

print(e) # a

# 源码:

# def choice(self, seq):

# """Choose a random element from a non-empty sequence."""

# try:

# i = self._randbelow(len(seq))

# except ValueError:

# raise IndexError('Cannot choose from an empty sequence') from None

# return seq[i]

# 6. random.shuffle(x) 将列表中元素随机排列,返回None。x本身被随机排序

# x支持索引,且为可变类型

x = [1, 2, 3, 'a', 4, 'b']

# x = (1,2) # x[i], x[j] = x[j], x[i] TypeError: 'tuple' object does not support item assignment

f = random.shuffle(x)

print(f, x) # None [1, 'a', 2, 4, 'b', 3]

# 7. random.sample(population, k) 从指定序列(population)中随机获取指定长度(k)的片段并随机排列

# 不改变原有序列

# population 支持list\tuple\str,否则保错 TypeError("Population must be a sequence or set. For dicts, use list(d).")

# k, 0<=k<=len(population),否则保错:ValueError("Sample larger than population or is negative")

population = [1, 2, 3, 'a', 4, 'b']

k = 4

g = random.sample(population, k)

print(g) # [2, 3, 4, 'a']

# ==================练习====================

"""

1、生成0-100的随机数

"""

import random

num = random.randint(0, 100) # randint(a,b) 返回a<=x<=b之间的数字

print("生成0-100(包括1和100)之间的随机数是", num)

# 方法2:

num2 = int(random.random() * 100) # 生成0-1(不包括0且不包括1)之间的随机数

print("生成0-100(不包括0和100)之间的随机数是", num2)

"""

2、python 中生成随机整数、随机小数、0-1之间的小数的方法

"""

import random

a = 1

b = 10000

s = random.randint(a, b) # a-b范围内的随机整数

c = random.uniform(a, b) # a-b范围内的随机浮点数

f = random.random() # 0-1之间的小数

print(f'{a}与{b}之间的随机整数:{s}')

print(f'{a}与{b}之间的随机小数:{c}')

print(f"0-1之间的随机小数:{f}")

import numpy

# numpy 主要用于处理矩阵

n = 5 # 生成随机小数的数量

f2 = numpy.random.randn(n) # 生成n个随机小数,list类型返回

print(f"{n}个随机小数:{f2}")

# py3随机数(https://www.cnblogs.com/zhangxinqi/p/9069741.html)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值