题目:

1.计算你的生日比如近30年来(1990-2019),每年的生日是星期几,统计一下星期几出现的次数比较多
2,生日提醒,距离生日还有几天

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan '''
1.计算你的生日比如近30年来(1990-2019),每年的生日是星期几,统计一下星期几出现的次数比较多
2,生日提醒,距离生日还有几天
''' import datetime def get_week_day(date):
week_day_dict = {0: '星期一', 1: '星期二', 2: '星期三', 3: '星期四', 4: '星期五', 5: '星期六', 6: '星期日'}
return week_day_dict[date.weekday()] def q1(str0):
year = int(str0.split('-')[0])
month = int(str0.split('-')[1])
day = int(str0.split('-')[2])
dict0 = {'星期一': 0, '星期二': 0, '星期三': 0, '星期四': 0, '星期五': 0, '星期六': 0, '星期日': 0, } # 准备计数
for i in range(1990, 2020):
str_temp = str(i) + '-' + str(month) + '-' + str(day) # 转成字符串
dt_temp = datetime.datetime.strptime(str_temp, '%Y-%m-%d') # 转成date对象
dict0[get_week_day(dt_temp)] += 1 # 计数君
print('%s年的生日是:%s' % (i, get_week_day(dt_temp))) list(dict0.values()).sort()
max_num = list(dict0.values())[-1] # 最大的数
list0 = list(dict0.keys())
list1 = []
for i in list0:
if dict0[i] == max_num:
list1.append(i)
print('%s出现的次数最多,达到了%s次。' % (list1, max_num))
print('-' * 50) # 分隔线 def q2(str0):
today = datetime.date.today()
current_year = str(today).split('-')[0] # 2019
cur_year_bir = current_year + str0[4:] # 今年生日
dt = datetime.datetime.strptime(cur_year_bir, '%Y-%m-%d') # 今年生日
m = dt.strftime('%j')
n = datetime.datetime.today().strftime('%j')
if int(m) > int(n): # 今年生日还没到
print('距今年生日还有%s天' % (int(m) - int(n)))
elif int(m) < int(n): # 今年生日已过,求到明年生日还有多少天
print('距明年生日还有%s天' % (365 - (int(n) - int(m)))) # 不考虑闰年
else:
print('今天就是生日') def run():
#str0 = '1987-3-28'
str0 = input('请输入你的生日,如:1950-1-1')
q1(str0)
q2(str0) if __name__ == '__main__':
run()

  

datetime小练习的更多相关文章

  1. DateTime小综合

    实现效果: 关键知识: 1>DateTime类的ToString()方法: 2>DateTime类的IsLeapYear(); 3>DateTime类的DaysInMomth(); ...

  2. Mysql 数据类型使用说明

    FLOAT 和DOUBLE 类型支持使用标准的浮点运算进行近似计算. DECIMAL类型用于存储精确的小数. 因为cpu不支持对DECIMAL的直接计算,所以在Mysql5.0及更高的版本中,MYSQ ...

  3. 存储引擎和表的操作(mysql中的数据类型、完整性约束)

    一.存储引擎 .概念 MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力. 通过选择不同的技术 ...

  4. MySQL/MariaDB数据类型

    1.为什么要定义MySQL数据类型 定义MySQL数据类型其实就是为了对数据进行分类,实现对不同的分类进行不同的处理 1.使系统能够根据数据类型来操作数据. 2.预防数据运算时出错.例如,通过强大的数 ...

  5. 读高性能MySql笔记

    1.1 MySQL逻辑架构 MySql服务器逻辑架构图 1.连接管理与安全性 每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心或者 ...

  6. MySQL Schema与数据类型的优化

    选择优化的数据类型: 1. 更小的通常更好: 一般情况下,应该尽量使用可以正确存储数据的最小数据类型.更小的数据类型通常更快,因为他们占用更少的磁盘,内存和cpu缓存,并且处理时需要的cpu周期也更少 ...

  7. MySQL优化十大技巧

    转自:https://m.2cto.com/database/201701/557910.html MYSQL优化主要分为以下四大方面: 设计:存储引擎,字段类型,范式与逆范式 功能:索引,缓存,分区 ...

  8. 2-14-2 MySQL数据类型

    MySQL数据类型: 对数据进行分类,针对不同分类进行不同的处理. 1. 使系统能够根据数据类型来操作数据. 2. 预防数据运算时出错. 3. 更有效的利用空间. 数据分类,可以使用最少的存储,来存放 ...

  9. 对MySQL数据类型的认识

    简述 良好的逻辑设计和物理设计是高性能系统的基石,比如反范式设计可以加快某些类型的查询同时也会影响另外一些类型的查询效率,所以我们必须重视Mysql对于数据库的设计(本文主要讲述表字段类型对于数据库性 ...

随机推荐

  1. JAVA使用Gson解析json数据,实例

    封装类Attribute: public class Attribute { private int id; private String name; private int age; public ...

  2. 如何把本地的项目推送到github上面去

    前题:本地已经建好了项目,但电脑上没有安装git  (windows 系统) 1.首页从网上下载git 并安装. 2.进入项目所在的文件夹,右键鼠标 3.新建.gitignore文件 touch .g ...

  3. 利用canvas画一个实时时钟

    先放一张效果图: 下面是源代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  4. 【Henu ACM Round#16 D】Bear and Two Paths

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 先搞一条a到b的路径 a c x3 x4 x5....xn-2 d b 然后第二个人的路径可以这样 c a x3 x4 x5...x ...

  5. 编译Linux Kernel

    近期编译 Linux Kernel 被 header 所在的文件骗了,使用命令例如以下 cd /usr/src/linux-headers-3.11.0-24-generic/ make menuco ...

  6. selection-内容选中跟光标移动

    如果我们希望手动的改变edittext的光标,我们可以使用 setSelection(int start, int end); setSelection(int index); 这个方法,如果我们选择 ...

  7. POJ 3172 (认真读题的题)

    题目: 思路: 题目很有意思 首先 题里说:N<=1000 题里又说 诶呦 woc? 这不自相矛盾嘛 最坏情况也就是个 斐波那契数列 几十个数 暴搜+剪枝不就好了嘛 剪枝:从大往小搜,如果前缀和 ...

  8. 基于Linux平台Softimage XSI 演示

     2009年底上映的<阿凡达>是电影特效的巅峰之作,就在本月初上映的变形金刚3每次观看之后看得眼花缭乱总能让我热血沸腾,要是自己能做出那样的特效该多好,Linux下研究Maya已经有一段日 ...

  9. java接口理解(转载)

    今天和同事好好的讨论了java接口的原理和作用,发现原来自己的对接口的理解仅仅是局限在概念的高度抽象上,觉得好像理解了但是不会变化应用其实和没有理解差不多.以前看一个帖子说学习一个东西不管什么时候都要 ...

  10. dp之多重背包(未用二进制优化)

    hdu 2191: #include <iostream>#include <stdio.h>#include <string.h>using namespace ...