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生成Hilbert矩阵

    如何使用Python生成Hilbert矩阵

    这篇文章主要介绍了如何使用Python生成Hilbert矩阵,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • Python 如何访问外围作用域中的变量

    Python 如何访问外围作用域中的变量

    这篇文章主要介绍了Python 如何访问外围作用域中的变量的相关资料,需要的朋友可以参考下
    2016-09-09
  • python实现自动登录人人网并访问最近来访者实例

    python实现自动登录人人网并访问最近来访者实例

    这篇文章主要介绍了python实现自动登录人人网并访问最近来访者实例,该实例是在前面登录人人网实例基础上的扩展,是非常实用的一个技巧,需要的朋友可以参考下
    2014-09-09
  • python3.8下载及安装步骤详解

    python3.8下载及安装步骤详解

    这篇文章主要介绍了python3.8下载及安装步骤详解,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • 使用virtualenv创建Python环境及PyQT5环境配置的方法

    使用virtualenv创建Python环境及PyQT5环境配置的方法

    这篇文章主要介绍了使用virtualenv创建Python环境及PyQT5环境配置的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • python基础教程之对象和类的实际运用

    python基础教程之对象和类的实际运用

    这篇文章主要介绍了python基础教程之对象和类的实际运用,本文讲解对象和类的一方法技巧,例如属性、内置方法、self关键字的运用等,需要的朋友可以参考下
    2014-08-08
  • python爬虫之request模块深入讲解

    python爬虫之request模块深入讲解

    requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多,下面这篇文章主要给大家介绍了关于python爬虫之request模块的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • 详解Django-auth-ldap 配置方法

    详解Django-auth-ldap 配置方法

    Django-auth-ldap是一个Django身份验证后端,可以针对LDAP服务进行身份验证。这篇文章主要介绍了详解Django-auth-ldap 配置方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Java及python正则表达式详解

    Java及python正则表达式详解

    正则表达式有元字符及不同组合来构成,通过巧妙的构造正则表达式可以匹配任意字符串,并完成复杂的字符串处理任务
    2017-12-12
  • Python 实现一个颜色色值转换的小工具

    Python 实现一个颜色色值转换的小工具

    这篇文章主要介绍了Python 实现一个颜色色值转换的小工具的相关资料,需要的朋友可以参考下
    2016-12-12

最新评论