Python基础之random

Python基础之random

本节将介绍Python中的内置模块random,用于随机数相关的操作。


random模块支持生成随机浮点数,随机整数,从list,tuple,str 中随机选择某一个或多个元素,混淆某个list。例如:

import random
import string

# float_n is a float number in [0,1)
float_n = random.random()
print(float_n)

# int_n is a int number in [1, 10]
int_n = random.randint(1, 10)
print(int_n)

# float_n is a float number in [1.2, 2.8]
float_n = random.uniform(1.2, 2.8)
print(float_n)

# Random choice
print(random.choice("abcdefghi"))
print(random.choice([1, 2, 3, 4, 5, 6]))
print(random.choice(('xiaoming', 'xiaohong', 'ahuang', 'tom', 'jerry')))

# Random range in [1, 10) with step 2
print(random.randrange(1, 10, 2))

# Shuffle a list
l = [1, 2, 3, 4, 5, 6, 7, 8, 9]
random.shuffle(l)
print(l)


def generate_password():
    while True:
        lower_l = random.sample(string.ascii_lowercase, random.randint(1, 5))
        upper_l = random.sample(string.ascii_uppercase, random.randint(1, 5))
        punc_l = random.sample(string.punctuation, random.randint(1, 5))
        digit_l = random.sample(string.digits, random.randint(1, 5))
        password_l = lower_l + upper_l + punc_l + digit_l
        random.shuffle(password_l)
        password_str = ''.join(password_l)
        if len(password_str) >= 12:
            return password_str
        else:
            print("Generate password again...")


password = generate_password()
print(password)

运行结果:

D:\work\python_workspace\python_study\venv\Scripts\python.exe D:/work/python_workspace/python_study/basic_14/test_random.py
0.5892891534926099
7
2.0257998459688524
e
6
xiaoming
1
[7, 5, 2, 8, 1, 6, 3, 9, 4]
Generate password again...
Pmn`{4]x+7v$U

Process finished with exit code 0

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值