【每周一坑】特殊的生日

简介: 好吧,我在跳票的道路上又双叒叕前进了一步……今天终于厚着脸皮来更新【每“周”一坑】啦。感谢在后台孜孜不倦催促我的同学们

好吧,我在跳票的道路上又双叒叕前进了一步……今天终于厚着脸皮来更新【每“周”一坑】啦。感谢在后台孜孜不倦催促我的同学们。


在出题前,先插两句:


1.上次关于 Python 学习方向的直播《Python 路线图》回放已上传,公众号回复 直播,或从网站的“学习资源”栏目最下方的“直播录像”中可下载。

2.“Python 实战训练营”新一期即将于 12.12 正式开讲,目前开放报名中。了解课程详情可点击文末的 阅读原文 或在公众号里回复 训练营


今天的题目是一道脑筋急转弯:


每个日期可以转成8位数字,比如 2017年12月4日 对应的就是 20171204。小明发现,自己的生日转成8位数字后,8个数字都没有重复,而且自他出生之后到今天,再也没有这样的日子了。请问小明的生日是哪天?


当然,如果你脑筋转得够快,很容易推出这个日期。但我们是程序员啊,我们都很懒的,这种事就交给电脑去算好啦。


期待各位同学提交解答。


提交代码可以使用 paste.ubuntu.com 或 codeshare.io 等代码分享网站,只需将代码复制上去保存,即可获得一个分享地址,非常方便。


往期问题可通过公众号菜单栏“课外辅导”栏目中进入查看。


【解答】注册表单验证


上期的问题,可以用字符串的相关函数来处理,但更好的方法是通过正则表达式。


有好几位同学给出了解答,其中 @elyt 的正则表达式最完备。在他的代码基础上做了一点小修改,供参考:


#coding:utf-8
import re
pattern = re.compile(r'^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$')
while True:
    mail = raw_input('邮箱地址:')
    match = pattern.match(mail)
    if match:
        break
    else:
        print('邮箱地址格式不正确,请重新输入。')
pattern = re.compile(r'(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{8,}$')
while True:
    password = raw_input("密码:") 
    match = pattern.match(password)
    if match:
        break
    else:
        print('密码需要8位以上,并包含有大写字母、小写字母和数字三种字符。请重新输入。')
print('注册提交成功')


@王炎 和初二的 @方子正 同学分别用 PyQT 和 Tkinter 给出了图形界面版本,不过都还有点小 bug 值得改进。


@古美萌 和 @九二 增加了邮箱重复的验证。


完成代码的还有 @狮子不咬人 @.*+。


欢迎在论坛 bbs.crossincode.com 上对代码做进一步讨论。


感谢大家的积极参与!期待在下一期中看到你的代码!


  • 代码问题请在论坛 bbs.crossincode.com 上发帖提问
  • 欢迎加入讨论交流群组共同学习进步
  • 别忘了将我们的文章转发朋友圈或在知乎上为我们的专栏点赞,你们的支持将会让编程教室做得更好:)


推荐阅读:

Python老司机给上路新手的3点忠告

【数据说话】当下的Python就业前景如何

Python有嘻哈:Crossin教你用代码写出押韵的verse

听说你好不容易写了个爬虫,结果没抓几个就被封了?

编程新手:看懂很多示例,却依然写不好一个程序

给伸手党的福利:Python 新手引导

Python 爬虫爬取美剧网站

爆款游戏《贪吃蛇大作战》的 Python 实现

相关文章
|
4月前
|
存储 Java 程序员
昵称重复怎么办?一招教你轻松搞定!
本文介绍了如何使用布隆过滤器高效管理用户昵称重复问题。在互联网项目中,确保昵称唯一性至关重要,可避免混淆、增强安全性和保持数据一致性。布隆过滤器通过哈希函数和位数组实现快速查询,具有低内存占用和高速查询的优点。文中详细解释了其工作原理,并提供了Java代码示例,帮助读者理解和应用这一技术,提升项目性能。
125 17
昵称重复怎么办?一招教你轻松搞定!
|
Java 程序员
通过生日获取年龄+生肖+星座工具类
通过生日获取年龄+生肖+星座工具类 🍅 Java学习路线:搬砖工的Java学习路线 🍅 作者:程序员小王 🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF 🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕
171 0
通过生日获取年龄+生肖+星座工具类
|
存储 程序员 Python
使用Python实现自动生日祝福
使用Python实现自动生日祝福
290 0
使用Python实现自动生日祝福
|
前端开发 数据库
【日积月累】出生日期如何转换成年龄进行显示
【日积月累】出生日期如何转换成年龄进行显示
186 0
【日积月累】出生日期如何转换成年龄进行显示
|
存储 算法 安全
对不起,学会这些知识后我飘了(五)
我们每个程序员或许都有一个梦,那就是成为大牛,我们或许都沉浸在各种框架中,以为框架就是一切,以为应用层才是最重要的,你错了。在当今计算机行业中,会应用是基本素质,如果你懂其原理才能让你在行业中走的更远,而计算机基础知识又是重中之重。下面,跟随我的脚步,为你介绍一下计算机底层知识。
85 0
对不起,学会这些知识后我飘了(五)
|
存储 缓存 程序员
对不起,学会这些知识后我飘了(二)
我们每个程序员或许都有一个梦,那就是成为大牛,我们或许都沉浸在各种框架中,以为框架就是一切,以为应用层才是最重要的,你错了。在当今计算机行业中,会应用是基本素质,如果你懂其原理才能让你在行业中走的更远,而计算机基础知识又是重中之重。下面,跟随我的脚步,为你介绍一下计算机底层知识。
132 0
对不起,学会这些知识后我飘了(二)
【刷穿 LeetCode】551. 学生出勤记录 I : 简单模拟题(附模拟题目录)
【刷穿 LeetCode】551. 学生出勤记录 I : 简单模拟题(附模拟题目录)
|
Oracle Java 关系型数据库
偷看了隔壁老王的文章,发现String拼接另有天地
偷看了隔壁老王的文章,发现String拼接另有天地
151 0
偷看了隔壁老王的文章,发现String拼接另有天地
|
算法 程序员
“对不起,我们不招半路出家的程序猿”,就因为我是大专学历?太看不起人了。
用他自己的话说,为了跳槽这家心仪已久的大厂,他几乎拼上了自己半条命。 白天上班,晚上刷算法题,看技术书。半年下来,算法题刷了200多道,而且是2遍,技术书看了6本。 为此,他牺牲掉了几乎所有的休闲时间,经常熬至深夜。
“对不起,我们不招半路出家的程序猿”,就因为我是大专学历?太看不起人了。

热门文章

最新文章