码迷,mamicode.com
首页 > 其他好文 > 详细

脱产班第一次补课习题

时间:2019-03-25 20:39:10      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:port   NPU   local   count   +=   方式   print   wrap   关键字   

判断题:

  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}天')

脱产班第一次补课习题

标签:port   NPU   local   count   +=   方式   print   wrap   关键字   

原文地址:https://www.cnblogs.com/meilong/p/tuo-chan-ban-di-yi-ci-bu-ke-xi-ti.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!