案例:准备10个人姓名,然后为这10个人随机生成生日【都是90后】

1、统计出那些人是夏季【6月-8月】出生的。

2、最大的比最小的大多少天

3、谁的生日最早,谁的生日最晚

备注:春季【3-5】夏季【6-8】秋季【9-11】冬季【12-2】

演示:

fromdatetime importdate, timedelta

fromrandom importrandint

defbuild_birthday(list_person_name:list):

#初始化存储“姓名:生日”字典

name_birthday ={}.fromkeys(list_person_name)

#生成生日

forkey inname_birthday:

temp_year = randint(1990, 1999)

temp_month = randint(1, 12)

temp_day = randint(1, 30)

name_birthday[key] = date(temp_year, temp_month, temp_day)

#返回

returnname_birthday

defperson_birthday_summer(name_birthday:dict):

#用于存储夏天出生的key

list_person = []

forkey inname_birthday:

ifname_birthday[key].month >= 6 andname_birthday[key].month <= 8:

list_person.append(key)

#返回

returnlist_person

defget_person_year_max(name_birthday:dict):

#在字典中提取出生日

person_birth = list(name_birthday.values())

#获取最大的生日

max_birthday = sorted(person_birth)[len(person_birth)-1]

#遍历

forkey inname_birthday:

ifname_birthday[key] == max_birthday:

returnkey

defget_person_year_min(name_birthday:dict):

#在字典中提取出生日

person_birth = list(name_birthday.values())

#获取最小的生日

min_birthday = sorted(person_birth)[0]

#遍历

forkey inname_birthday:

ifname_birthday[key] == min_birthday:

returnkey

defget_person_days(name_birthday:dict):

#在字典中提取出生日

person_birth = list(name_birthday.values())

#获取最大的生日

min_birthday = sorted(person_birth)[0]

max_birthday = sorted(person_birth)[len(person_birth)- 1]

#返回天数

return(max_birthday-min_birthday).days

defget_person_early_birthday(name_birthday:dict):

forkey inname_birthday:

name_birthday[key] = name_birthday[key].replace(year=1990)

person_birth = list(name_birthday.values())

return(sorted(person_birth)[0])

defget_person_later_birthday(name_birthday:dict):

forkey inname_birthday:

name_birthday[key] = name_birthday[key].replace(year=1990)

person_birth = list(name_birthday.values())

return(sorted(person_birth)[len(person_birth)-1])

if__name__ == "__main__":

list_name = ["赵一", "杨二", "张三", "李四", "王五", "赵六", "马七", "郑八", "刘九","胡十"]

#为list_name中所有的学员生成生日

name_birthday = build_birthday(list_name)

print(name_birthday)

#调用功能模块

birthday_summer_list =person_birthday_summer(name_birthday)

iflen(birthday_summer_list) == 0:

print("没有人的生日是在夏天: ")

else:

print("生日为夏天的有:", birthday_summer_list)  #需求一

#需求二

print("生日最大的:", get_person_year_max(name_birthday))

print("生日最小的:", get_person_year_min(name_birthday))

print("最大比最小的天数:", get_person_days(name_birthday))

#需求三

date_early =get_person_early_birthday(name_birthday)

print("生日最大的是:%d月%d日"%(date_early.month,date_early.day))

date_later = get_person_later_birthday(name_birthday)

print("生日最小的是:%d月%d日"% (date_later.month, date_early.day))

执行结果:

C:\python\python.exeC:/python/demo/file3.py

{'赵一':datetime.date(1992, 12, 30), '杨二': datetime.date(1995,6, 23), '张三': datetime.date(1990, 6, 21), '李四':datetime.date(1991, 9, 29), '王五':datetime.date(1996, 2, 26), '赵六':datetime.date(1995, 9, 18), '马七':datetime.date(1996, 7, 4), '郑八':datetime.date(1990, 3, 5), '刘九':datetime.date(1992, 3, 3), '胡十':datetime.date(1992, 11, 6)}

生日为夏天的有: ['杨二','张三','马七']

生日最大的: 马七

生日最小的: 郑八

最大比最小的天数: 2313

生日最大的是:2月26日

生日最小的是:12月26日

Process finished with exit code 0

python案例演示_Python中日期时间案例演示相关推荐

  1. python数据格式简介_Python中数据类型时间的介绍(附代码)

    本篇文章给大家带来的内容是关于Python中数据类型时间的介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.什么是时间数据类型 Python中表示时间类型的数据结构为 ...

  2. [转]JDBC中日期时间的处理技巧

    Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒.毫秒以及时区的控制方法,同时也提供一些工具方法,比如日期/时间的比较,前后判断等. java.uti ...

  3. oracle sql比较时间大小,Oracle数据库中日期时间的操作比较和加减

    Oracle数据库中日期时间的操作比较和加减 Oracle关于时间/日期的操作 1.日期时间间隔操作 当前时间减去7分钟的时间 select sysdate,sysdate - interval '7 ...

  4. jdbc读取mysql时分秒yyyy-mm-dd hh:_[转]JDBC中日期时间的处理技巧

    Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒.毫秒以及时区的控制方法,同时也提供一些工具方法,比如日期/时间的比较,前后判断等. java.uti ...

  5. python输出时间格式_python中日期和时间格式化输出的方法小结_python

    这篇文章主要介绍了python中日期和时间格式化输出的方法,实例总结了Python常见的日期与事件操作技巧,非常具有实用价值,需要的朋友可以参考下 本文实例总结了python中日期和时间格式化输出的方 ...

  6. python中水平制表符_python中制表符的案例分析

    python中制表符的案例分析 发布时间:2020-11-11 14:04:04 来源:亿速云 阅读:79 作者:小新 小编给大家分享一下python中制表符的案例分析,相信大部分人都还不怎么了解,因 ...

  7. python日期格式转换_python中有关时间日期格式转换问题

    每次遇到pandas的dataframe某列日期格式问题总会哉坑,下面记录一下常用时间日期函数.... 1.字符串转化为日期 str->date import datetime date_str ...

  8. python诞生日期_Python中的时间与日期

    本文简要介绍datetime,time模块的简要用法. datetime模块 datetime模块主要有四个主要的对象. date 处理年.月.日 time处理时.分.秒.微秒 datetime处理日 ...

  9. python 从日期列表中选出最大的_python – 从日期时间列表中获取最早和最晚时间...

    我有, timestamp=[] for x in model_obj: timestamp.append(x.start_time) print timestamp 结果: [datetime.da ...

最新文章

  1. 数据库事务的ACID特性及含义
  2. 智能运维监管系统终端_城市轨道交通关键设备智能运维系统初步建构
  3. tensorflow量化策略详解
  4. java 动画_Java安全动画
  5. pip设置下载源为国内镜象源永久设置方法-windows版本
  6. 贪心算法—圣诞老人的礼物(POJ 4110)
  7. qq如何用其他进制登录
  8. 二、十进制数字快速转换为16进制字符
  9. js先执行一个方法再往下执行_轻松理解JS中的面向对象,顺便搞懂prototype和__proto__...
  10. Contacts Provider使用
  11. 关于华为手机使用MTK刷机时出现failed to get PMT info的解决办法
  12. 基于布隆过滤器实现敏感词识别和过滤 1
  13. 【转载】通过搜狗站长平台查看网站的搜狗流量及搜索关键字
  14. appium自动注册完整脚本
  15. 系统的延时任务和定时任务
  16. solr6.3与MySQL结合使用
  17. 资讯类App主流框架(一)
  18. Hexo-yilia主题个性化美化及功能添加
  19. android 呼吸灯,十三种呼吸灯交互触控体验_手机_手机Android频道-中关村在线
  20. 什么是反向 DNS?使用场景是什么?如何反向DNS查找,怎样配置?

热门文章

  1. html颜色参考 速查 在线取色,Color by Fardos - 配色/取色插件
  2. asp毕业设计——基于asp+access的毕业生信息管理系统设计与实现(毕业论文+程序源码)——毕业生信息管理系统
  3. 【ACM- OJ】《Oulipo》C++
  4. php artisan command,artisan command 小技巧
  5. php artisan怎么用,php artisan常用方法
  6. 计算机主机显卡安装,安装后如何在计算机中启用独立显卡
  7. P2327 [SCOI2005]扫雷(递推)
  8. 2021年6月大学英语六级作文
  9. 【定位不准的烦心事系列】第1篇:谈谈卫星定位的位置干扰
  10. 话费充值api接口,对接流程