吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1970|回复: 9
收起左侧

[Python 转载] 【Python】-初学笔记-随机验证码函数封装和调用

[复制链接]
surepj 发表于 2021-12-9 10:03
初学函数的定义和调用。
用户输入一个验证码长度,程序输出该长度的随机字符。

这是在一个程序里定义和调用。
[Python] 纯文本查看 复制代码
import random

def yanZM(p1):
    str1 = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    code = ''
    for i in range(p1):
        index = random.randint(0,len(str1) - 1)
        code += str1[index]
    return code

p1 = int(input('请输入验证码长度:'))

result = yanZM(p1)

print(result)



程序大致运行路径图

--------------------------------------------------------------------------
还可以将函数单独一个py文件,在需要的文件中调用即可。(两个文件在同一目录下)
如函数文件:yanZM_py_file.py
[Python] 纯文本查看 复制代码
import random

def yanZM(p1):
    str1 = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    code = ''
    for i in range(p1):
        index = random.randint(0,len(str1) - 1)
        code += str1[index]
    return code


如调用文件:yanZM_调用.py
[Python] 纯文本查看 复制代码
from yanZM_py_file import yanZM

p1 = int(input('请输入验证码长度:'))
result = yanZM(p1)
print(result)


本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

kk159 发表于 2021-12-9 11:12
[Python] 纯文本查看 复制代码
import string
import random

def getCode(n):
    str=string.digits+string.ascii_letters
    code=''.join(random.sample(str,n))
    return code

 楼主| surepj 发表于 2021-12-9 12:17
kk159 发表于 2021-12-9 11:12
[mw_shl_code=python,true]import string
import random

原来还有这样的方法
感谢
云飞扬1 发表于 2021-12-9 15:18
青衫桑 发表于 2021-12-10 22:45
确实是生成了,但是还可以改进,比如以这个为基础生成图像验证码
Domanca 发表于 2021-12-12 21:11
kk159 发表于 2021-12-9 11:12
[mw_shl_code=python,true]import string
import random

这个n最大值只能是26*2+10,并且不会出现重复字符
pretybin 发表于 2021-12-12 21:50
每天一个小例子,感谢分享
kk159 发表于 2021-12-12 22:35
Domanca 发表于 2021-12-12 21:11
这个n最大值只能是26*2+10,并且不会出现重复字符

想重复,那定义字符存放list,再choice取。
个数就循环获取即可!
醉红尘0 发表于 2021-12-13 13:58
[Python] 纯文本查看 复制代码
import string
import random
def getcode(n):
    put_str = ""
    for i in range(n):
        my_str = string.digits + string.ascii_letters
        put_str += ''.join(random.sample(my_str, 1))
    return put_str



修改了一下,现在可以无限长度,字符也可以重复了
tobyong 发表于 2021-12-17 15:35
感谢分享,学习中。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 10:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表