python如何生成随机n位数字与字母组合(创建随机)

 更新时间:2023年08月09日 10:00:27   作者:wait a minutes  
这篇文章主要介绍了python如何生成随机n位数字与字母组合(创建随机),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python生成随机n位数字与字母组合

环境

ubuntu
python3.6
random

代码 

(1)生成6位数字与字母组合

import random
n = 6
def v_code(n=6):
        """
            Returns:
                ret:random six num and letter
        """
        ret = ""
        for i in range(n):
            num = random.randint(0, 9)
            # num = chr(random.randint(48,57))#ASCII表示数字
            letter = chr(random.randint(97, 122))  # 取小写字母
            Letter = chr(random.randint(65, 90))  # 取大写字母
            s = str(random.choice([num, letter, Letter]))
            ret += s
        return ret

(2)生成6位字母组合

import random
n = 6
def v_code1(n=6):
        """
            Returns:
                ret:random six letter
        """
        ret = ""
        for i in range(n):
            letter = chr(random.randint(97, 122))  # 取小写字母
            Letter = chr(random.randint(65, 90))  # 取大写字母
            s = str(random.choice([letter, Letter]))
            ret += s
        return ret

(3)生成6位数字组合

import random
n = 6
def v_code2(n=6):
        """
            Returns:
                ret:random six num
        """
        ret = ""
        for i in range(n):
            num = random.randint(0, 9)
            s = str(random.choice([num]))
            ret += s
        return ret

(4)代码汇总

# -*- coding: UTF-8 -*-
'''
@author: mengting gu
@contact: 1065504814@qq.com
@time: 2020/11/3 下午9:04
@file: random_num.py
@desc:
    Get the combination of n numbers and upper and lower case letters.
'''
import random
n = 6
def v_code_nums_letters(n=6):
        """
            Returns:
                ret:random six num and letter
        """
        ret = ""
        for i in range(n):
            num = random.randint(0, 9)
            # num = chr(random.randint(48,57))#ASCII表示数字
            letter = chr(random.randint(97, 122))  # 取小写字母
            Letter = chr(random.randint(65, 90))  # 取大写字母
            s = str(random.choice([num, letter, Letter]))
            ret += s
        return ret
def v_code_letters(n=6):
        """
            Returns:
                ret:random six letter
        """
        ret = ""
        for i in range(n):
            letter = chr(random.randint(97, 122))  # 取小写字母
            Letter = chr(random.randint(65, 90))  # 取大写字母
            s = str(random.choice([letter, Letter]))
            ret += s
        return ret
def v_code_nums(n=6):
        """
            Returns:
                ret:random six num
        """
        ret = ""
        for i in range(n):
            num = random.randint(0, 9)
            s = str(random.choice([num]))
            ret += s
        return ret
print("v_code_nums_letters result: " + v_code_nums_letters())
print("v_code_letters result: " + v_code_letters())
print("v_code_nums result: " + v_code_nums())

结果样例:

python批量生成随机密码

需求:一次生成多个随机密码,密码强度:包含数字、大小写字母,18位。

import random
import string
# 先介绍下random怎么生成随机数和字母
# 产生一个随机整数
num = random.randint(0,10000)
print(num)
# 产生一个随机字母,注意是一个
str1 = random.choice(string.ascii_letters)
print(str1)
# 生成10个、18位随机密码,包含数字和字母大小写
def genPass(length):
    # string.ascii_letters: 生成a-Z字母
    # string.digits:生成0-9的数字字符串
    chars = string.ascii_letters + string.digits
    # 这个的意思是:从chars中获取一个随机的字符,这个字符可能是数字也可能是大小写的字母
    # 然后for循环获取18次,再用join合并成一个字符串,所以就成了一个18位的密码
    return ''.join([random.choice(chars) for i in range(length)])
if __name__ == '__main__':
    # 批量生成10个密码
    for i in range(10):
        print(genPass(18))

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 用Python登录Gmail并发送Gmail邮件的教程

    用Python登录Gmail并发送Gmail邮件的教程

    这篇文章主要介绍了用Python登录Gmail并发送Gmail邮件的教程,利用了Python的SMTP库,代码非常简单,需要的朋友可以参考下
    2015-04-04
  • Python命令行参数解析之argparse模块详解

    Python命令行参数解析之argparse模块详解

    这篇文章主要介绍了Python命令行参数解析之argparse模块详解,argparse 是 Python 的一个标准库,用于命令行参数的解析,这意味着我们无需在代码中手动为变量赋值,而是可以直接在命令行中向程序传递相应的参数,再由变量去读取这些参数,需要的朋友可以参考下
    2023-08-08
  • Python开发自定义Web框架的示例详解

    Python开发自定义Web框架的示例详解

    这篇文章主要为大家详细介绍了python如何开发自定义的web框架,我文中示例代码讲解详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • python+mitmproxy抓包的实现

    python+mitmproxy抓包的实现

    mitmproxy是基于Python的第三方库,配合Python脚本可以篡改请求和响应数据,使用起来相对简单,下面就来介绍一下python+mitmproxy抓包的实现,感兴趣的可以了解一下
    2025-04-04
  • Python实现批量文件整理的示例代码

    Python实现批量文件整理的示例代码

    批量文件整理一直是日常工作中令人头疼的事,使用 Python 进行大批量文件整理,可以大大提升工作效率。本文主要介绍了利用Python实现文件的重命名和删除,感兴趣的小伙伴可以关注一下
    2021-12-12
  • Python中判断子串存在的性能比较及分析总结

    Python中判断子串存在的性能比较及分析总结

    这篇文章主要给大家总结介绍了Python中判断子串存在的性能比较及分析的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • python实现在一个画布上画多个子图

    python实现在一个画布上画多个子图

    今天小编就为大家分享一篇python实现在一个画布上画多个子图,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python可变集合和不可变集合的构造方法大全

    Python可变集合和不可变集合的构造方法大全

    Python集合分为变集合和不可变集合两种,本文就详细的来介绍一下这两种集合的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • python爬虫中PhantomJS加载页面的实例方法

    python爬虫中PhantomJS加载页面的实例方法

    在本篇文章里小编给大家整理了关于python爬虫中PhantomJS加载页面的实例方法,有需要的朋友们可以参考下。
    2020-11-11
  • pytest用例间参数传递的两种实现方式示例

    pytest用例间参数传递的两种实现方式示例

    pytest提供了许多运行命令以供定制化运行某一类测试用例或者某个测试用例等,下面这篇文章主要给大家介绍了关于pytest用例间参数传递的两种实现方式,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-12-12

最新评论