脱产班第一次补课习题

Posted meilong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了脱产班第一次补课习题相关的知识,希望对你有一定的参考价值。

判断题:

  1. 生成器本质上是一种迭代器. 对
  2. 生成器的主要作用是为了节省内存消耗. 对
  3. Python中实现生成器的主要方式是通过yield关键字. 对
  4. 装饰器函数是一个闭包函数.(绝大多数场景下,必须使用闭包.) 对

编程题:

1.写一个生成器函数,用于获取100以内所有7的倍数.

def func():
    for i in range(101):
        if i % 7 == 0:
            yield i

for i in func():
    print(i)

2.写一个装饰器函数,用于对一个函数进行运行时间的计算.

import time
def wrapper(func_name):
    def inner(*args,**kwargs):
        start_time = time.time()
        ret = func_name(*args,**kwargs)
        end_time = time.time()
        print('函数执行耗时%s秒' % (end_time-start_time))
    return inner
@wrapper
def func():
    time.sleep(3)
func()

3.使用time模块编程,用户输入一个生日,计算这个人来到这个世界已经多少天?

import time

birth = input('输入你的生日(1996-05-12):').strip()
if birth == '':
    birth = '1996-05-12'

def SumDay(birthday,count=0):
    birthday = time.strptime(birth,'%Y-%m-%d')
    for year in range(birthday.tm_year,time.localtime().tm_year+1):
        if year % 100 != 0 and year % 4 == 0:
            count += 366
        else:
            count +=365
    else:
        count += birthday.tm_yday
        return count

day = SumDay(birth)
print(f'你活了{day}天')

以上是关于脱产班第一次补课习题的主要内容,如果未能解决你的问题,请参考以下文章

2016-2017-1 20155215 信息安全技术 补课上测试

补课系列:最小生成树

python全栈脱产第12天

清北前紧急补课12粉刷匠

对我影响最深的三位老师

老男孩脱产班开班前的最后一天