DAY008-模块练习题

模块

模块是一组Python代码的集合,可以使用其他模块,也可以被其他模块使用。

好处:

  • 大大提高了代码的可维护性。
  • 编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用
  • 避免函数名和变量名冲突。相同名字的函数和变量完全可以分别存在不同的模块中,因此,我们自己在编写模块时,不必考虑名字会与其他模块冲突。

创建自己的模块时,要注意:

  • 模块名要遵循Python变量命名规范,不要使用中文、特殊字符;
  • 模块名不要和系统模块名冲突,最好先查看系统是否已存在该模块,检查方法是在Python交互环境执行import abc,若成功则说明系统存在此模块。

练习题

1、怎么查出通过 from xx import xx导⼊的可以直接调⽤的⽅法?

在test_package文件夹中创建一个 init.py 的模块文件,内容可以为空。然后在代码中把test_package的文件的路径加入到python解释器可以搜索到的路径列表中。

2、了解Collection模块,编写程序以查询给定列表中最常见的元素。

题目说明:

输入:language = [‘PHP’, ‘PHP’, ‘Python’, ‘PHP’, ‘Python’, ‘JS’, ‘Python’, ‘Python’,‘PHP’, ‘Python’]

输出:Python

def most_element(language):
    # collections.py
    def most_element(language):
        a = 0
        b = 0
        for i in range(len(language)):
            for j in range(len(language) - 1):
                if language[i] == language[j + 1]:
                    a = a + 1
            if a > b:
                b = a
                cc = language[i]
        return cc

    import collections
    language = ['PHP', 'PHP', 'Python', 'PHP', 'Python', 'JS', 'Python', 'Python', 'PHP', 'Python']
    print(collections.most_element(language))

练习题

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
"""
   
   
def to_timestamp(dt_str, tz_str):
    # your code here
        pass
import datetime
import re
from dateutil import parser

dt_str=‘2020-6-1 08:10:30’
tz_str=‘UTC+7:00’
def to_timestamp(dt_str, tz_str):
dt = parser.parse(dt_str)
tz_r = re.match(r’^UTC([+|-]\d{1,2}):00$’, tz_str)
tz = datetime.timezone(datetime.timedelta(hours=int(tz_r.group(1))))
dt = dt.replace(tzinfo=tz)
return dt.timestamp()

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 
"""
   
def all_sundays(year):
    # your code here
from datetime import date, timedelta

def allsundays(year):
d = date(year, 1, 1) # January 1st
d += timedelta(days = 6 - d.weekday()) # First Sunday
while d.year == year:
yield d
d += timedelta(days = 7)

for d in allsundays(2020):
print(d)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值