Python学习笔记:第三章 模块与包专项考核

本文为Python学习的模块与包部分的专项考核,包括五个问答题目:检查字符串特殊符号、输出日期范围、计算3D点间距离、正整数阶乘数字和以及多种斐波那契数列实现。
摘要由CSDN通过智能技术生成
考核01:

问答题 (20分) 编写函数,检查字符串是否包含除了数字和字母(含大小写)之外的特殊符号。例如字符串learnpython110*7%%99hello,如果作为此函数的参数,则返回True

老师参考:

import re
def is_specific_char(s):
    char_re = re.compile(r'[^a-zA-Z0-9.]')
    string = char_re.search(s)
    return bool(string)
  
s = 'learnpython110*7%%99hello'
print(is_specific_char(s))
  
# output
# True

小编参考:

def check_str(s):
    import re
    res = re.findall('[^a-zA-Z0-9]+', s)
    return len(res) > 0
     
s = 'learnpython110*7 % %99hello'
f = check_str(s)
print(f)
考核02:

问答题 (20分) 假设开始日期是2019年12月25日,结束日期是2020年1月10日,编写程序,以诸如%Y-%m-%d(2019-12-26)的形式,输出开始日期到结束日期的所有日期(含开始和结束日期当天).

老师参考:

from datetime import timedelta, date
  
def daterange(date1, date2):
    for n in range(int ((date2 - date1).days)+1):
        yield date1 + timedelta(n)
  
start_dt = date(2019, 12, 25)
end_dt = date(2020, 1, 10)
for dt in daterange(start_dt, end_dt):
    print(dt.strftime("%Y-%m-%d"))

小编参考:

def output_date():
    import datetime
    stime = '2019-12-25'
    etime = '2020-01-10'
     
    start = datetime.datetime.strptime(stime, '%Y-%m-%d')
    end 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值