python判断今天周几 python判断天数 您所在的位置:网站首页 计算闰年和平年天数的方法 python判断今天周几 python判断天数

python判断今天周几 python判断天数

2023-06-07 08:17| 来源: 网络整理| 查看: 265

输入某年某月某日,判断这一天是这一年的第几天,主要是牵扯到 月份不同 天数不一样,年份不同分闰年和平年只分

闰年判断,四年一润,百年不润    四百年再润 

if ((year % 4 == 0) and(year % 100 != 0)) or (year % 400 == 0 ) : days+=1)

1.通过本节主要学习 元组,列表,集合,字 典 的使用

python判断今天周几 python判断天数_元组

python判断今天周几 python判断天数_判断那天_02

python判断今天周几 python判断天数_字典集合使用_03

python判断今天周几 python判断天数_字典集合使用_04

python判断今天周几 python判断天数_元组_05

a) 元组(tuple)是特殊的序列类型

 

  1. 一旦创建不能修改,使得代码更安全,使用逗号和圆括号来表示 如(2,4,6,8)  (‘read’,‘green’,'blue')

  2.访问方式和列表相同

  3.一般用于表达固定数据项。函数多返回值等情况

元组中的元素可以是不同的类型 ,元组的各样元素存在先后关系,可以通过索引访问元组中的元素

  

""" 作者: 版本:v1.0 功能:输入年月日 判断是一年中的第几天 日期:20190726 使用元组的方式和列表两种方式,其中元组方式 已经注释 """ from _datetime import datetime def main(): input_data_str = input('请输入日期(yyyy/mm/dd):') input_data = datetime.strptime(input_data_str, '%Y/%m/%d') print(input_data_str) year = input_data.year month = input_data.month day = input_data.day # 计算之前月份的天数总和使用元组的方式实现 # days_in_month_tub =(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) # days = sum(days_in_month_tub[:month-1]) + day # if (year % 400 == 0 ) or ((year % 4 == 0) and(year % 100 != 0)): # days += 1 # 计算之前月份的天数总和使用列表的方式实现 days_in_moth_lis = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 判断是否是闰年 if (year % 400 == 0 ) or ((year % 4 == 0) and(year % 100 != 0)): days_in_moth_lis[1] = 29 days = sum(days_in_moth_lis[:month - 1]) + day print('这是第{}天'.format(days)) if __name__ == '__main__': main()

 

参考代码:使用元组和列表实现的功能

参考代码使用集合实现功能

""" 作者: 版本:v2.0 功能:输入年月日 判断是一年中的第几天 日期:20190726 使用集合方式实现 if i in _30_days_month_set: # 表示判读 i 是否在集合 _30_days_moth_set 中 """ from _datetime import datetime def main(): input_data_str = input('请输入日期(yyyy/mm/dd):') input_data = datetime.strptime(input_data_str, '%Y/%m/%d') print(input_data_str) year = input_data.year month = input_data.month day = input_data.day # 计算之前月份的天数总和使用集合的方式实现 _30_days_month_set = {4,6,9,11} _31_days_month_set = {1,3,5,7,8,10,12} days = 0 days += day for i in range(1, month): if i in _30_days_month_set: days += 30 elif i in _31_days_month_set: days += 32 else: days += 28 # 判断是否是闰年 if (year % 400 == 0 ) or ((year % 4 == 0) and(year % 100 != 0)): days += 1 print('这是{}年 第{}天'.format(year, days)) if __name__ == '__main__': main()

参考代码使用字典实现功能

""" 作者: 版本:v3.0 功能:输入年月日 判断是一年中的第几天 日期:20190726 使用字典方式实现 """ from _datetime import datetime def main(): input_data_str = input('请输入日期(yyyy/mm/dd):') input_data = datetime.strptime(input_data_str, '%Y/%m/%d') print(input_data_str) year = input_data.year month = input_data.month day = input_data.day # 计算之前月份的天数总和使用字典方式实现 # 月份 天数 字典 month_day_dict = {1: 31, 2: 28, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31} days = 0 days += day # # 判断是否是闰年 # if (year % 400 == 0 ) or ((year % 4 == 0) and(year % 100 != 0)): # month_day_dict[2]=29 # else: # month_day_dict[2]=28 # for i in range(1, month): # days+= month_day_dict[i] # 判断是否是闰年 if (year % 400 == 0 ) or ((year % 4 == 0) and(year % 100 != 0)): days+=1 for i in range(1, month): days+= month_day_dict[i] print('这是{}年 第{}天'.format(year,days)) if __name__ == '__main__': main()

 

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有