python 实例四
https://www.cnblogs.com/evablogs/p/6754981.html
题目:输入某年某月某日,判断这一天是这一年的第几天?
程序分析:
月份天数:
| 月份 | 天数 |
| 2 | 平年28天,闰年29天 |
| 1,3,5,7,8,10,12 | 31 |
| 4,6,9,11 | 30 |
闰年:
2、整百年:能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
>>> L=[31,31,30,31,30,31,31,30,31,30,31]>>> def caldate(a,b,c): s=0 if(a%100!=0 and a%4==0 or a%100==0 and a%400==0): L.insert(1,29) else: L.insert(1,28) for i in range(b-1): s=s+L[i] return s+c>>> caldate(2016,1,2)2>>> caldate(2016,3,2)62 |
改进版:考虑了月份和天数的有效性(哈哈,对比网上的答案,一看自己的代码就像是菜鸟级的,还有很多需要学习的地方)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
def caldate(a,b,c): L=[31,31,30,31,30,31,31,30,31,30,31] s=0 Leap=0 if(a%100!=0 and a%4==0 or a%100==0 and a%400==0): L.insert(1,29) Leap=1 else: L.insert(1,28) if 0<b<=12: if 0<c<=31: if((b==2)and(Leap==1)and(c<=29)or((b==2)and(Leap==0)and(c<=28))): for i in range(b-1): s=s+L[i] return s+c else: print 'The February should not greater than 28 or 29' else: print 'The date is error' else: print 'The month is invalid' |
输出:
|
1
2
3
4
5
6
7
8
9
10
|
>>> caldate(2016,4,33)The date is error>>> caldate(2017,2,30)The February should not greater than 28 or 29>>> caldate(2017,2,28)59>>> caldate(2017,2,29)The February should not greater than 28 or 29>>> caldate(2017,13,29)The month is invalid |
网上答案:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/usr/bin/python# -*- coding: UTF-8 -*- year = int(raw_input('year:\n'))month = int(raw_input('month:\n'))day = int(raw_input('day:\n')) months = (0,31,59,90,120,151,181,212,243,273,304,334)if 0 < month <= 12: sum = months[month - 1]else: print 'data error'sum += dayleap = 0if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)): leap = 1if (leap == 1) and (month > 2): sum += 1print 'it is the %dth day.' % sum |
输出结果:
|
1
2
3
4
5
6
7
|
year:2015month:6day:7it is the 158th day. |
python 实例四的更多相关文章
- python实例:解决经典扑克牌游戏 -- 四张牌凑24点 (二)
Hey! 如果你还没有看这篇的上文的话,可以去稍稍瞅一眼,会帮助加速理解这一篇里面涉及到的递归结构哦!(上一篇点这里:<python实例:解决经典扑克牌游戏 -- 四张牌凑24点 (一)> ...
- Python 基础 四 面向对象杂谈
Python 基础 四 面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...
- 【Python实例一】使用minidom读取xml文件
前言:最近刚在廖雪峰老师的网站里学习了Python的基础内容,想着循序渐进地找点实例练练手,网上看到有很多相关资料,决定针对感兴趣的内容实际编码实践一下,昨天刚好看到有关使用Python来读取XML文 ...
- 初识Python(四)
一.数字数据类型 Python的数字数据类型用于存储数值,它是不可变的数据类型,这意味着改变数字数据类型,则需要一个新分配的对象: Python支持四种不同的数值类型: 整型(Int):通常被称为是整 ...
- 笨办法学python 第四版 中文pdf高清版|网盘下载内附提取码
笨办法学 Python是Zed Shaw 编写的一本Python入门书籍.适合对计算机了解不多,没有学过编程,但对编程感兴趣的朋友学习使用.这本书以习题的方式引导读者一步一步学习编 程,从简单的打印一 ...
- 第一个python实例--监控cpu
#第一个python实例:监控cpu #/bin/bash/env Python from __future__ import print_function from collections impo ...
- (转)Python实例手册
原文地址:http://hi.baidu.com/quanzhou722/item/cf4471f8e23d3149932af2a7 实在是太好的资料了,不得不转 python实例手册 #encodi ...
- 使用docker安装部署Spark集群来训练CNN(含Python实例)
使用docker安装部署Spark集群来训练CNN(含Python实例) http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器 ...
- C语言库函数大全及应用实例四
原文:C语言库函数大全及应用实例四 [编程资料]C语言库函数大全及应用实例四 couble fmod (double x, dou ...
随机推荐
- nvidia-docker+cuda8.0+ubuntu16.04
nvidia-docker安装 如果之前安装过docker1.0版本,需要先删掉该版本和之前创建的容器 docker volume ls -q -f driver=nvidia-docker | xa ...
- Python 使用图灵机器人实现微信聊天功能
首先需要去图灵官网创建一个属于自己的机器人然后得到apikey. 一.自动与指定好友聊天 # -*- coding: utf-8 -*- """ Created at 2 ...
- 3.MySQL(三)
索引类型 先创建表 mysql> CREATE TABLE test( -> id INT, -> username VARCHAR(16), -> city VARCHAR( ...
- 网络协议 4 - 交换机与 VLAN:办公室太复杂,我要回学校
上一次,我们通过宿舍联网打魔兽的需求,认识了如何通过物理层和链路层组建一个宿舍局域网.今天,让我们切换到稍微复杂点的场景,办公室. 在这个场景里,就不像在宿舍那样,搞几根网线,拉一拉, ...
- linux安装字体方法
1.查看系统中文字体 #fc-list :lang=zh 2.如果提示commont not fount 说明为安装fontconfig 3.安装fontconfig #yum -y install ...
- IdentityServer4之Implicit(隐式许可)
IdentityServer4之Implicit(隐式许可) 参考 官方文档:3_interactive_login .7_javascript_client 概念:隐式许可 认证服务端配置 认证服务 ...
- 带着萌新看springboot源码8(spring ioc源码下)
继续接着上一节,到了第六步(温馨提醒,内容有点小多,不过看完ioc原理就差不多了) 6.注册Bean后置处理器(registerBeanPostProcessors(beanFactory)) 最后一 ...
- RabbitMQ消息队列(十二)-性能测试
硬件配置 宿主机用的联想3850X6的服务器四颗E7-4850v3的处理器,DDR4内存,两块1.25TB的pcie固态.在宿主机上使用的事esxi5.5的虚拟化平台,在子系统中安装RabbitMQ和 ...
- C++STL模板库适配器之优先级队列
目录 适配器之优先级队列 一丶优先级队列简介(priority_queue) 二丶优先级队列代码演示 1.优先级队列代码以及使用简介 适配器之优先级队列 一丶优先级队列简介(priority_queu ...
- springboot情操陶冶-web配置(五)
本文讲讲mvc的异常处理机制,方便查阅以及编写合理的异常响应方式 入口例子 很简单,根据之前的文章,我们只需要复写WebMvcConfigurer接口的异常添加方法即可,如下 1.创建简单的异常处理类 ...