python多线程处理循环时中断

任务 在进行种子杯的比赛时,为了实现可视化的调试,目标是程序在进行自动寻路算法时,可以通过键盘输入暂停,查看当前地图状态,并可手动操作(玩蛇),通过键盘继续自动寻路。 通过以下方法进行实现。 控制台输出 需要使地图实时更新,并且稳定在一定的窗口,需要采用多行刷新。 python 控制台单行刷新,多行刷新 尝试demo,与需求基本一致 查看使用文档: Curses Programming with Python _curses.error: addstr() returned ERR 原因是输出超出窗口,可以通过函数查看窗口大小 多线程 首先尝试一下 python在循环时如何监控键盘输入并对当前的循环进行操作 本人python新手,正在用python解决一些实际问题,现在想实现这样一个功能:在一个循环里面检测键盘的输入,并根据输入的内容对当前的循环进行一些操作,或者在屏幕上增加几个按钮,用鼠标点也可以。例如: 在一个 i=1到10的 for 循环里面,假如当前循环到i=5,我此时按下空格键,循环暂停,此时按->键,i从5跳到6,但循环还是暂停状态,输出的结果显示i=6的结果,同理若按<-键,i从5跳到4,输出显示i=4的结果,当再一次按下空格键时,循环继续。 首先通过例程学习多线程的使用,通过实例化一个继承Thread.threading的对象,通过调用函数即可开启线程。 Python3 多线程

Django-发送邮件找回密码

任务 完善登录模块,提供找回密码的途径。 具体逻辑为: 输入用户名和注册邮箱 数据库比对一致后,随机生成验证码 利用Django的邮件发送模块发送验证码 验证码通过后,能够重置密码 用户名和注册邮箱 关键在于利用标签id筛选到输入内容,并且需要加入{% csrf_token %}生成密钥,传入ajax作为参数,否则会出现403无法响应。 访问网址:https://paas-class.bktencent.com/t/demoli/mechat/find_pwd/ 前端发送输入用户名与邮箱 得到输入框中内容 如用户名部分为: 选择器为: 按钮事件触发 需要实现通过点击按钮发送验证码向填写的邮箱地址发送邮件,对按钮部分添加get_verify属性,一直监听按钮按下,并引入倒计时: 当按钮按下,且按钮文字为获取验证码时,此时点击按钮则会触发js中的submit_verify()函数 同步检验输入有效性 为了得到Ajax请求验证有效性函数的返回值,需要通过同步ajax实现,声明async: false, 利用POST请求将用户名与邮件地址传送至后端进行处理,其中的请求路径url利用相对路径格式书写,便于之后上传服务器。 后端检验用户名和邮箱有效性 在url.py中新增路由映射关系 在views.py中新增处理模块submit_verify() 取出POST中数据:username=request.POST.get(‘username’) 查询表baseUser一对一的表User中是否存在输入的用户名:usernameF = baseUser.objects.filter(user__username=username) 验证通过 发送邮件,开始倒计时,传入后端进行验证码生成与邮件的发送,并显示输入验证码框 异步发送验证邮件 但发送邮件是消耗时间的活动,因此一定要用异步Ajax实现,验证通过时调用函数send_verify() 随机生成验证码 后端发送验证邮件 在url.py中新增路由映射关系 在views.py中新增处理模块send_verify() 生成验证码 generateVcode(request) 前端处理返回数据res 完善send_verify()异步请求 在输入框下面加上span成员,如下 将错误信息打印到相应位置 清除错误信息 利用Django的邮件发送模块发送验证码 首先参考博文Django——发送邮件的步骤通过QQ邮箱完成测试,下面介绍类比如何通过学校邮箱进行发送: 首先在网页中搜索关键词华科邮箱+SMTP,找到相关说明 二、客户端设置 使用Outlook、Foxmail等桌面邮件客户端软件或手机邮件客户端软件设置学校电子邮箱时按如下配置信息设置: SMTP服务器:mail.hust.edu.cn POP3服务器:mail.hust.edu.cn IMAP服务器:mail.hust.edu.cn 在settings.py文件中加入设定: 同样需要配置路由映射到函数send_mail():… Continue reading Django-发送邮件找回密码

python可视化计划完成情况

任务 每日打卡活动对我帮助很大,养成了早起的作息习惯,虽然早睡还不能保证。下面将计划的结果通过可视化显示在网页中。 准备 首先我们需要: 表格统计自己的计划完成情况 python运行环境 python数据分析利器:pandas python绘图利器:matplotlib python可视化利器:pyecharts 过程 1. 统计表格 直接在excel中汇总,任务完成置1,未完成置0 并导出为csv文件,便于pandas读取。 2. 分析数据 在超好用的Jupyter Lab中运行,简单的几行代码,即可展现出刚才的表格: a. 每日完成率 简单来讲,只要把每天完成的总数除以全部任务数即可反映。pandas基础的函数就可以完成这一任务: 那我们如何索引一行的值呢? 索引某列 pandas中获取某一列,可以通过字典的索引方式,例如右图这个语句将列名为“一”的所以值取出: 但索引某行需要另外一个函数,由于mean是这个表的索引,则通过loc()函数实现: 我们可以直接使用pandas与matplotlib联合作图: 要导入matplotlib库,由于数据较少,反映出的图像信息较普通: b.任务完成率 下面我们对每个任务的完成情况进行统计 首先统计已有数据 添加新列 可视化 最强的可视化! 先来看看示例: 所以我们只需把任务和任务完成数传入即可。 相同格式Get! 成功! 把html文件上传至网站云服务器文件夹下,即可访问! 致谢 感谢小伙伴 @袋鼠 的大力支持! 感谢打卡队友的鼓励陪伴!