模块和datatime模块
模块
练习1
怎么查出通过 from xx import xx导⼊的可以直接调⽤的⽅法?
help函数
练习2
了解Collection模块,编写程序以查询给定列表中最常见的元素。
题目说明:
输入:language = [‘PHP’, ‘PHP’, ‘Python’, ‘PHP’, ‘Python’, ‘JS’, ‘Python’, ‘Python’,‘PHP’, ‘Python’]
输出:Python
“”"
Input file
language = [‘PHP’, ‘PHP’, ‘Python’, ‘PHP’, ‘Python’, ‘JS’, ‘Python’, ‘Python’,‘PHP’, ‘Python’]
Output file
Python
“”"
def most_element(language):
“”" Return a list of lines after inserting a word in a specific line. “”"
"""
Input file
language = ['PHP', 'PHP', 'Python', 'PHP', 'Python', 'JS', 'Python', 'Python','PHP', 'Python']
Output file
Python
"""
import collections
def most_element(language):
""" Return a list of lines after inserting a word in a specific line. """
obj=Counter(language)
ret=obj.most_common(1)
return (ret[0][0])
language = ['PHP', 'PHP', 'Python', 'PHP', 'Python', 'JS', 'Python', 'Python','PHP', 'Python']
print(most_element(language))
datatime模块
练习题1
假设你获取了用户输入的日期和时间如2020-1-21 9:01:30,以及一个时区信息如UTC+5:00,均是str,请编写一个函数将其转换为timestamp
"""
Input file
example1: dt_str='2020-6-1 08:10:30', tz_str='UTC+7:00'
example2: dt_str='2020-5-31 16:10:30', tz_str='UTC-09:00'
Output file
result1: 1590973830.0
result2: 1590973830.0
"""
from datetime import datetime, timedelta, timezone
from dateutil import parser
import re
def to_timestamp(dt_str, tz_str):
dt = parser.parse(dt_str)
utc_group = re.match(r'(UTC)([+-])(\d+):(\d+)', tz_str)
i = int(utc_group.group(3))
if utc_group.group(2) == '+':
tz_utc = timezone(timedelta(hours=i))
elif utc_group.group(2) == '-':
tz_utc = timezone(timedelta(hours=-i))
dt = dt.replace(tzinfo=tz_utc)
return dt.timestamp()
dt_str1, tz_str1 = '2020-6-1 08:10:30', 'UTC+7:00'
dt_str2, tz_str2 = '2020-5-31 16:10:30', 'UTC-09:00'
print(to_timestamp(dt_str1, tz_str1))
print(to_timestamp(dt_str2, tz_str2))
练习2
编写Python程序以选择指定年份的所有星期日。
"""
Input file
2020
Output file
2020-01-05
2020-01-12
2020-01-19
2020-01-26
2020-02-02
-----
2020-12-06
2020-12-13
2020-12-20
2020-12-27
"""
from datetime import date, timedelta
def all_sundays(year):
year = int(year)
year_start = date(year, 1, 1)
# 找出第一个星期天
year_start += timedelta(days=(7-year_start.isoweekday()))
while year_start.year == year:
print(year_start)
year_start += timedelta(days=7)
all_sundays(2020)