猫史档案馆


【Python作品分享】停下!我们要检查你是不是人类!【作业帖】

用户:BiliBili_CharaBiliBili_Chara查看:14 回复:5 评论:14 创建时间:2024-01-29T15:36:04


【作品展示】

center_image

 

【作品介绍】

验证码生成器,使用了PIL、easygui和random库

对图片进行了平滑、高斯模糊等操作

人类也很难做对(

 

【作品源代码】

from PIL import Image, ImageFont, ImageDraw, ImageFilter 
import easygui as g
import random

def randChar():
    return chr(random.randint(65, 90))

def randColor():
    return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))

def randColorBg():
    return (random.randint(喵, 255), random.randint(喵, 255), random.randint(喵, 255))

def randPos(x, y):
    return (random.randint(0, x), random.randint(0, y))

width = 60 * 4
height = 60
image = Image.new('RGB', (width, height), randColor())

font = ImageFont.truetype('DejaVuSans.ttf', 36)
draw = ImageDraw.Draw(image)

for i in range(width*height):
    draw.point((random.randint(0, width), random.randint(0, height)), fill=randColorBg())

char = [0, 0, 0, 0]
for t in range(4):
    char[t] = randChar().lower()
    draw.text((60 * t + 15, 10), char[t], font=font, fill=randColor())

for o in range(random.randint(10,20)):
    linecolor = randColor()
    draw.line([randPos(width, height), randPos(width, height)], fill=linecolor)

i = random.randint(0, 1)
if i == 0:
    image = image.filter(ImageFilter.CONTOUR)
elif i == 1:
    image = image.filter(ImageFilter.BLUR)
    image = image.filter(ImageFilter.SMOOTH)

image = image.filter(ImageFilter.GaussianBlur(random.randint(1,3)))

image.show()

answer = g.enterbox(msg='请输入验证码:', title='验证码')

right = 0
for z in range(len(answer)):
    if(answer[z].lower() == char[z].lower()):
        right += 1

if right != 4:
    g.msgbox(msg=f"你是机器人!你只对了{right}个字符!", title='错错错!', ok_button='imRobot();')
else:
    g.msgbox(msg="你是人类!请进!", title='对对对!', ok_button='我是人类?')

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
飞熊jSrt飞熊jSrt

沙发

点赞0


评论


飞熊jSrt飞熊jSrt

不应该扭曲一下吗🤔

点赞0


评论


飞熊jSrt飞熊jSrt

你信不信我能尝试识别你这个🤔

点赞1


评论


BiliBili_CharaBiliBili_Chara

16个,简单难度(center_image

点赞0


评论


流浪狗_用户_寅戌壬申寅甲丑巳申丑流浪狗_用户_寅戌壬申寅甲丑巳申丑

恭迎极光大帝!!!!

点赞0


评论