【Python】-初学笔记-随机验证码函数封装和调用
初学函数的定义和调用。用户输入一个验证码长度,程序输出该长度的随机字符。
这是在一个程序里定义和调用。
import random
def yanZM(p1):
str1 = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
code = ''
for i in range(p1):
index = random.randint(0,len(str1) - 1)
code += str1
return code
p1 = int(input('请输入验证码长度:'))
result = yanZM(p1)
print(result)
http://inews.gtimg.com/newsapp_ls/0/14279569820/0
程序大致运行路径图
--------------------------------------------------------------------------
还可以将函数单独一个py文件,在需要的文件中调用即可。(两个文件在同一目录下)
如函数文件:yanZM_py_file.py
import random
def yanZM(p1):
str1 = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
code = ''
for i in range(p1):
index = random.randint(0,len(str1) - 1)
code += str1
return code
如调用文件:yanZM_调用.py
from yanZM_py_file import yanZM
p1 = int(input('请输入验证码长度:'))
result = yanZM(p1)
print(result)
import string
import random
def getCode(n):
str=string.digits+string.ascii_letters
code=''.join(random.sample(str,n))
return code
kk159 发表于 2021-12-9 11:12
import string
import random
原来还有这样的方法{:1_921:}
感谢 每天一个小例子,感谢分享 确实是生成了,但是还可以改进,比如以这个为基础生成图像验证码 kk159 发表于 2021-12-9 11:12
import string
import random
这个n最大值只能是26*2+10,并且不会出现重复字符 每天一个小例子,感谢分享 Domanca 发表于 2021-12-12 21:11
这个n最大值只能是26*2+10,并且不会出现重复字符
想重复,那定义字符存放list,再choice取。
个数就循环获取即可! 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
修改了一下,现在可以无限长度,字符也可以重复了 感谢分享,学习中。
页:
[1]