12 元组(tuple)| 元组和列表的区别 | 集合 | 字典 | 输入一个日期,判断是一年中的第几天

知识点:

元组(tuple)

定义:

是特殊的序列类型,一旦被创建就不能修改,使得代码更安全

表示方法:('red’,'blue','green')

访问方式:同list

一般用于表示固定数据项、函数多返回值等

特点:

元组中的元素可以是不同类型的

元组中各元素存在先后关系,可通过索引访问

 

元组与列表的区别

元组是不可变的,列表是可变的

元组通常由不同的数据组成,列表通常是由相同类型的数据组成

元组表示的是结构,列表表示的是顺序

 

集合

定义:

python中的集合(set)类型同数学中的集合概念一致,即包含0或多个数据项的无序组合

集合中的元素不可重复

集合是无序组合,没有索引和位置的概念

set()函数用于集合的生成,返回结果是一个无重复且排序任意的集合

集合通过用于表示成员间的关系、元素去重等

操作:

 

字典:

定义:

字典类型(dict)是“键-值”数据项的组合,每个元素是一个键值对

字典类型数据通过映射查找数据项

映射:通过任意键查找集合中的值得过程

字典类型以键为索引,一个键对应一个值

字典类型的数据无序

 

输入某年某月某日,判断这一天是一年中的第几天?

from _datetime import datetime


# 判断是否是闰年,是,返回true
def is_leap_year(year):
    is_leap = False
    if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):
        is_leap = True
    return is_leap


def main():
    date_str = input('请输入日期(yyyy/mm/dd):')
    date = datetime.strptime(date_str, '%Y/%m/%d')
    year = date.year
    month = date.month
    day = date.day

    day_of_month_tuple = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)

    days = sum(day_of_month_tuple[:month-1])+day

    if is_leap_year(year) and year > 2:
        days += 1
    print(days)


if __name__ == '__main__':
    main()

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值