编码的的思路:

1、依次输入要查询日期的年、月、日;

2、将输入的日期与2018年进行比较

  • year>=2018年时:首先判断年份是否是闰年,闰年天数加366,否则天数加365;然后判断月份,如果当年是闰年,月份要按照 list1 相加,否则按照 list2 相加。
  • year<2018年时:首先判断年份是否是闰年,闰年天数加366,否则天数加365;然后判断月份,如果当年是闰年,月份要按照 list1 相加,否则按照 list2 相加。

解释一下为什么要以2018年去划分,其实不管输入的年份大于还是小于2018年,都是闰年天数加366,否则天数加365,其最主要的差别是在月份的计算上,其差别可以具体参考代码。

具体思路见下面的代码:

#随机输入日期,计算出星期几
print("2018年1月1号是星期一,作为参考日期")
year=int(input("请输入要查询的年份:"))
mon=int(input("请输入要查询的月份:"))
day=int(input("请输入要查询的天:")) list1=[31,29,31,30,31,30,31,31,30,31,30,31] #闰年2月份为29天
list2=[31,28,31,30,31,30,31,31,30,31,30,31] #平年2月份为28天
date=0
years=0#输入的年份大于等于2018年的判断过程如下:
if year>=2018:  for j in range(2018,year):if (j%4==0)&(j%100!=0) or j%400==0:  #闰年years += 366else:   #平年years += 365    #闰年天数加366天,平年加365天if ((year%4)==0)&((year%100)!=0) or ((year%400)==0):   for i in range(mon-1):date += list1[i]   #闰年月份按list1相加days=date+day     else:for i in range(mon-1):    date += list2[i]   #平年月份按list2相加days=date+day       total=days+years ji=total%7  #参考日期是2018年1月1号是星期一#由于"ji=0"时,输出的结果是"星期0",因此对"ji"进行了判断,使"ji=0"时输出的结果为"星期7"if ji!=0:    print(year,'年',mon,'月',day,'日','是星期',ji)else:print(year,'年',mon,'月',day,'日','是星期',7)#输入的年份小于2018年的判断过程如下:
else:for j in range(year+1,2018):if (j%4==0)&(j%100!=0) or j%400==0:years += 366else:years += 365if ((year%4)==0)&((year%100)!=0) or ((year%400)==0): for i in range(mon-1,12):date += list1[i]days=date-day+1else:for i in range(mon-1,12):date += list2[i]days=date-day+1        total=days+yearsji=total%7if ji!=0:    #余数为1是星期7,余数为2是星期6...,总结规律为8-jiprint(year,'年',mon,'月',day,'日','是星期',8-ji)else:print(year,'年',mon,'月',day,'日','是星期',1)

结果如下:

D:\st11\python\lesson3.12.9>date.py
2018年1月1号是星期一,作为参考日期
请输入要查询的年份:2018
请输入要查询的月份:12
请输入要查询的天:24
2018 年 12 月 24 日 是星期 1D:\st11\python\lesson3.12.9>date.py
2018年1月1号是星期一,作为参考日期
请输入要查询的年份:2020
请输入要查询的月份:7
请输入要查询的天:8
2020 年 7 月 8 日 是星期 3D:\st11\python\lesson3.12.9>date.py
2018年1月1号是星期一,作为参考日期
请输入要查询的年份:2012
请输入要查询的月份:3
请输入要查询的天:4
2012 年 3 月 4 日 是星期 7D:\st11\python\lesson3.12.9>date.py
2018年1月1号是星期一,作为参考日期
请输入要查询的年份:2015
请输入要查询的月份:10
请输入要查询的天:11
2015 年 10 月 11 日 是星期 7

Python如何判断某天是星期几相关推荐

  1. 超全!Python获取某一日期是“星期几”的6种方法!

    在Python进行数据分析时,按照日期进行分组汇总也是被需要的,比如会找到销量的周期性规律. 那么在用Python进行数据统计之前,就需要额外增加一步:从指定的日期当中获取星期几.比如2022年2月2 ...

  2. python怎样判断一个文件是否存在_python如何判断一个文件是否存在

    python如何判断一个文件是否存在 发布时间:2020-09-23 11:38:42 来源:亿速云 阅读:82 作者:Leah python如何判断一个文件是否存在?针对这个问题,这篇文章详细介绍了 ...

  3. python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法

    python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录

  4. python代码判断两棵二叉树是否相同

    python代码判断两棵二叉树是否相同 给定两个二叉树,编写一个函数来校验它们是否相同.如果两个树在结构上相同,并且结点具有相同的值,则认为它们是相同的. 判断两个二叉树是否是相同的,相同的依据是 二 ...

  5. python代码判断指定日期是当前年的第多少天

    python代码判断指定日期是当前年的第多少天 #python代码判断指定日期是当前年的第多少天 #不适用标准库 def is_leap_year(year):"""判断 ...

  6. Python 字符串判断字母 数字 大小写

    Python 字符串判断 以下代码演示了Python字符串的判断: 实例 # Filename : test.py # author by : www.runoob.com # 测试实例一 print ...

  7. python怎么判断一个文件是否存在-利用Python如何判断一个文件是否存在

    通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. 这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块.Try ...

  8. python怎么判断一个文件是否存在-python判断文件是否存在的方法

    python如何判断文件是否存在 通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错.所以最好在做任何操作之前,先判断文件是否存在. python中如何判断文件是否存在? ...

  9. python质数判断if isprime_使用Python判断质数(素数)的简单

    这篇文章主要介绍了使用Python判断质数(素数)的简单方法讲解,经常被用来做科学计算的Python处理这种小问题当然手到擒来^_-需要的朋友可以参考下 质数又称素数.指在一个大于1的自然数中,除了1 ...

  10. python中判断列表数据类型_浅谈Python数据类型判断及列表脚本操作

    数据类型判断 在python(版本3.0以上)使用变量,并进行值比较时.有时候会出现以下错误: TypeError: unorderable types: NoneType() < int() ...

最新文章

  1. numpy的深复制与浅复制的区别_浅谈数据备份与复制对于企业用户的区别
  2. 利用 Cosole 来学习、调试JavaScrip
  3. 我们是如何通过全球第一免费开源ERP Odoo做到项目100%交付
  4. 05.序列模型 W1.循环序列模型
  5. 电子科技大学2019年计算机复试分数线,2019考研电子科技大学复试分数线已公布...
  6. centos php 绑定域名,centos如何绑定域名?
  7. android中jni数据加密,Android jni字符串如何加密
  8. JS简单入门学习笔记一
  9. TMT/MOBIE成像光谱仪的概念设计阶段杂散光分析
  10. 绘制管理组织结构图方法介绍
  11. Linux常用命令和shell命令
  12. 常见挖矿病毒处理方法(qW3xT/Ddgs.3011/S01wipefs/acpidtd/MSFC)
  13. 解构destruct
  14. 边缘计算,是在炒概念吗?
  15. hd--1114 存钱罐
  16. ABB机器人线速度_ABB机器人控制柜380进线接线
  17. 北斗开放平台,更加核心的语音压缩功能
  18. 苹果mac休眠快捷键_Mac电脑快速锁屏
  19. ntp server 配置参数_NTP配置-debian_chen-ChinaUnix博客
  20. 安居客 Android APP 走向平台化 | 开发者说·DTalk

热门文章

  1. Python 模拟轮盘抽奖游戏
  2. android实现自动触摸,Android编程开发之多点触摸(Multitouch)实现方法
  3. 【PyTorch修炼】一、安装GPU的pytorch详细教程(避坑)
  4. 管理理论模型:PEST、5W2H、时间管理、生命周期、逻辑树、金字塔、SMART原则
  5. 【OpenCV】计算两幅图片视觉差
  6. UiPath Excel内容去重操作
  7. Excel 2010 SQL应用022 查询满足条件的记录
  8. 如何使用Excel制作标靶图
  9. Marquee首尾相连不间断移动 开始完全显示
  10. 钓鱼邮件检测(本科毕设)