利用Python生成验证码图片

import random
from PIL import Image,ImageDraw, ImageFont
#随机生成大小写和数字的四位验证码
def auth_code():
    ran_big=chr(random.randint(65,91))
    ran_small=chr(random.randint(97,122))
    ran_num=random.randint(0,9)
    ran=random.choice((ran_big,ran_small,ran_num))
    code=str(ran)
    return code
#随机颜色
def ran_color():
    return (random.randint(0,255),random.randint(0,255),random.randint(0,255))
#随机位置
def ran_place(i):
    return (random.randint(i*20,i*60),20)
#新建图片
new_image=Image.new('RGB',(300,150),(0,255,255))
new_image.save('a.jpg')
# 字体样式:设置字体和大小
font = ImageFont.truetype('simsun.ttc', 100)
# 打开图片
im = Image.open("a.jpg")
# 创建图片对象
draw = ImageDraw.Draw(im)
for i in range(4):
    # 给图片对象添加内容:位置,内容,颜色,字体格式
    draw.text(ran_place(i), auth_code(), fill=ran_color(), font=font)
# 打开并展示图片
im.show()









  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一个简单的 Python 函数,用于生成具有随机字符和数字的验证码: ```python import random import string def generate_code(length=6): """ 生成指定长度的随机验证码 :param length: 验证码长度,默认为6 :return: 随机验证码 """ all_chars = string.ascii_letters + string.digits code = '' for i in range(length): code += random.choice(all_chars) return code ``` 该函数使用 Python 的 `random` 和 `string` 模块生成随机字符和数字,并将它们组合成指定长度的验证码。你可以通过调整 `length` 参数来生成不同长度的验证码。 ### 回答2: Python生成最简单的验证码函数可以使用random模块生成随机数和string模块生成随机字符串来实现。具体步骤如下: 1. 导入random和string模块: ```python import random import string ``` 2. 定义一个函数来生成验证码: ```python def generate_code(length): # 验证码由数字和大小写字母组成 chars = string.ascii_letters + string.digits code = '' for _ in range(length): code += random.choice(chars) return code ``` 其中,length参数表示验证码的长度。 3. 调用函数生成验证码: ```python code = generate_code(4) # 生成长度为4的验证码 print(code) # 打印验证码 ``` 通过以上步骤,就可以使用Python生成简单的验证码了。该验证码由数字和大小写字母组成,可以根据需要自定义验证码的长度和字符组合。 ### 回答3: 在Python中,我们可以使用随机数生成的方式来产生最简单的验证码。下面是一个生成四位数字验证码的例子: ```python import random def generate_code(): code = "" for _ in range(4): code += str(random.randint(0, 9)) return code print(generate_code()) ``` 代码中,我们利用`random`库中的`randint()`函数来生成一个0到9之间的随机整数,然后将生成的数字转换成字符串,依次加入到`code`变量中。最后返回`code`作为验证码。 当然,这只是一个简单的例子。实际中,我们可能需要更复杂的验证码,例如包含字母和数字的验证码。可以使用`random.choice()`函数来从指定的字符集合中选择随机字符,并将生成的字符加入到验证码中。 下面是一个生成包含字母和数字的四位验证码的例子: ```python import random import string def generate_code(): code = "" charset = string.ascii_letters + string.digits for _ in range(4): code += random.choice(charset) return code print(generate_code()) ``` 在这个例子中,我们使用了`string`库中的`ascii_letters`和`digits`常量来表示字母和数字的字符集合。然后利用`random.choice()`函数从字符集合中选择随机字符,加入到验证码中。 以上是几个简单的例子,实际中可以根据自己的需求和规则,定制更复杂的验证码生成函数。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值