【Python】【demo实验8】【练习实例】【计算当天是当年的第几天】
题目:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:
以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于2时需考虑多加一天:
对于年份,需要考虑是否为闰年;
对于月份,可以建立一个列表,每月的天数;
我的源代码:
#!/usr/bin/python
# encoding=utf-8
# -*- coding: UTF-8 -*- # 题目:输入某年某月某日,判断这一天是这一年的第几天? date = (input("please input the date:\n"))
#输入格式为20190909
pingNian = [0,31,28,31,30,31,30,31,31,30,31,30,31]#平年每月天数
runNian = [0,31,28,31,30,31,30,31,31,30,31,30,31]#闰年每月天数
y=int(date[0:4]) #获取年份
m=int(date[4:6]) #获取月份
d=int(date[6:8]) #获取日数
num = 0 #用于统计
k = 0 #用于标记平年还是闰年,k==1 表示为闰年; #run函数判断是否为闰年
#能被4整除的不能被100整除的都是闰年
#能被400整除的都是闰年; #print(pingNian,runNian,y,m,d,num,k) def run(y): return (y%4==0 and y%100!=0 or y%400==0) if m in [1,2]:
if m == 2:
num = pingNian[1]+d
else :
num = d
else:
if run(y):
for i in range(1,m):
num = num + runNian[i]
print("*",num)
else:
for i in range(1,m):
num = num + pingNian[i]
print("#",num)
num = num + d
print(num)
输出结果:
C:\Python30_demo>python 019demo.py
please input the date:
20130506
#
#
#
#
126
原题给出的解答:

————————(我是分割线)————————
参考:
1. RUNOOB.COM : https://www.runoob.com/python/python-exercise-example3.html
2. https://zhidao.baidu.com/question/467715860.html
3. 百度百科:https://baike.baidu.com/item/%E5%AE%8C%E5%85%A8%E5%B9%B3%E6%96%B9%E6%95%B0/8025061?fr=aladdin
备注:
初次编辑时间:2019年9月23日23:10:11
环境:Windows 7 / Python 3.7.2
【Python】【demo实验8】【练习实例】【计算当天是当年的第几天】的更多相关文章
- 【Python】【demo实验4】【计算阶乘】
计算阶乘 # encoding=utf-8 i = int(input("please input number: \n")) k = 1 for j in range(1,i): ...
- Python程序设计实验报告三:分支结构程序设计
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.5 指导老师 修宇 [实验目的 ...
- Python进阶:函数式编程实例(附代码)
Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...
- Python 利用Python编写简单网络爬虫实例3
利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://bbs.51testing. ...
- Python 利用Python编写简单网络爬虫实例2
利用Python编写简单网络爬虫实例2 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://www.51testing. ...
- 转:python常用运维脚本实例
python常用运维脚本实例 转载 file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函 ...
- python常用运维脚本实例【转】
file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先 ...
- python+requests接口自动化测试框架实例详解
python+requests接口自动化测试框架实例详解 转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实 ...
- 使用eclipse搭建第一个python+Django的web开发实例
python+Django的web开发实例 一.创建一个项目如果这是你第一次使用Django,那么你必须进行一些初始设置.也就是通过自动生成代码来建立一个Django项目--一个Django项目的 ...
随机推荐
- PHP mysqli_get_server_info() 函数
定义和用法 mysqli_get_server_info() 函数返回 MySQL 服务器版本. 语法 mysqli_get_server_info(connection); 实例 返回 MySQL ...
- Remove Mapping
http://social.msdn.microsoft.com/forums/vstudio/en-US/ffa3aa15-1d61-4464-ac4a-7a812d073a67/remove-ma ...
- learning armbian steps(8) ----- armbian 源码分析(三)
在lib/main.sh当中 ) == main.sh ]]; then echo "Please use compile.sh to start the build process&quo ...
- SVN - Subversion
Subversion yum install -y subversion 或者 subversion Edge 下载: # wget https://downloads-guests.open.col ...
- 蓝桥历年试题 DNA对比
[编程题](满分27分) 脱氧核糖核酸即常说的DNA,是一类带有遗传信息的生物大分子.它由4种主要的脱氧核苷酸(dAMP.dGMP.dCMT和dTMP)通过磷酸二酯键连接而成.这4种核苷酸可以分别记为 ...
- List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedList Set有两个实现类:HashSet和LinkedHashSet AbstractSet实现了Set
List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedListSet有两个实现类:HashSet和LinkedHashSetAbstractS ...
- Mybatis源码学习之资源加载(六)
类加载器简介 Java虚拟机中的类加载器(ClassLoader)负责加载来自文件系统.网络或其他来源的类文件.Java虚拟机中的类加载器默认使用的是双亲委派模式,如图所示,其中有三种默认使用的类加载 ...
- LINUX 字体查看 字体更改mkfontdir
Linux下字体查看: #fc-list :lang=zh 字体更改: 首先找到相应的字体库:simsun.ttf 宋体 #mkdir -p /usr/share/fonts/truetype //创 ...
- 计算可迭代对象的shape 老是忘~方便记法
import numpy as np bbox =[ [[6.37532410e+02,3.83636505e+02,7.04683777e+02,4.43150146e+02, 6.23311400 ...
- ARTS打卡计划第七周
Algorithms: https://leetcode-cn.com/problems/longest-common-prefix/ Review: https://link.medium.com/ ...