Test 06

本文探讨如何使用Python的filter()进行函数式编程,举例实现判断闰年和日期差计算。同时,介绍了一个用户管理系统V4的设计,包括记录用户登录时间、登录限制、用户管理功能以及用户名规则的加强。

1.用filer()进行函数式编程,写一段代码来给出一个年份的列表并返回一个只有闰年的列表。列表解析式实现方式呢

from random import randint


def leapyear(year):
    if year < 1900 or year > 2016:
        print 'year error'
    elif (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
        return year

years = []
for i in range(10):
    years.append(randint(1900, 2016))
print years
print filter(leapyear, years)
print [n for n in [randint(1900, 2018) for i in range(10)] if
    ((n % 4 == 0 and n % 100 != 0) or (n % 4 == 0 and n % 100 == 0))]
2.给出一个整数值,返回代表该值得英文,比如输入89返回“eight-nine”。附加题,能够返回符合英文语法规则的形式,比如输入“89”返回“eight-nine”。本练习中的值限定为0-1000

single=['','one','two','three','four','five','six','seven','eight','nine']
double1=['ten','eleven','tweleve','thirting','fourting','fifting','sixting','seventing','eighting','nineting']
double2=['','','twenty','thirty','fourty','fifty','sixty','seventy','eighty','ninety']
numstr=raw_input('Enter a number 0--1000: ')
numlen=len(numstr)
num=int(numstr)
if numlen==1:
    if int(numstr[0])>0:
        print single[num]
    else:
        print 'zero'
elif numlen==2:
    if numstr[0]=='1':
        print double1[num-10]
    else:
        print double2[int(numstr[0])]+'-'+single[int(numstr[1])]
elif numlen==3:
    if numstr[1]=='1':
        tmp=double1[int(numstr[2])]
    else:
        tmp=double2[int(numstr[1])]+'-'+single[int(numstr[2])]
    print single[int(numstr[0])]+' hundred '+tmp
else:
    print 'one thousand'

3 a..给出两个可识别格式的日期,比如MM/DD/YY或者DD/DD/YY格式,计算出两个日期件的天数

b.给出一个人的生日,计算从此人出生到现在的天数,包括所有的闰月

c.还是上面的例子,计算出此人到下次过生日还有多少天


4. 用户管理系统V4

a)修改之前的用户管理脚本,使它能记录用户上次的登录日期和时间(用 time 模块),并与用户密码一起保存起来。程序的界面有要求用户输入用户名和密码的提示。无论户名是否成功登录,都应有提示,在户名成功登录后,应更新相应用户的上次登录时间戳。如果本次登录与上次登录在时间上相差不超过 4 个小时,则通知该用户: “You already logged in at: <last_ login_timestamp>.”

b) 添加一个“管理”菜单,其中有以下两项: 1)删除一个用户 2)显示系统中所有用户的名字和他们的密码的清单。

c) 要求用户名不区分大小写。 d) 加强对用户名的限制,不允许符号和空白符


这个是完整源码 python实现 Django 【python毕业设计】基于Python的天气预报(天气预测分析)(Django+sklearn机器学习+selenium爬虫)可视化系统.zip 源码+论文+sql脚本 完整版 数据库是mysql 本研究旨在开发一个基于Python的天气预报可视化系统,该系统结合了Django框架、sklearn机器学习库和Selenium爬虫技术,实现对天气数据的收集、分析和可视化。首先,我们使用Selenium爬虫技术从多个天气数据网站实时抓取气象数据,包括温度、湿度、气压、风速等多项指标。这些数据经过清洗和预处理后本研究旨在开发一个基于Python的天气预报可视化系统,该系统结合了Django框架、sklearn机器学习库和Selenium爬虫技术,实现对天气数据的收集、分析和可视化。首先,我们使用Selenium爬虫技术从多个天气数据网站实时抓取气象数据,包括温度、湿度、气压、风速等多项指标。这些数据经过清洗和预处理后,将其存储在后端数据库中,以供后续分析。 其次,采用s,将其存储在后端数据库中,以供后续分析。 其次,采用sklearn机器学习库构建预测模型,通过时间序列分析和回归方法,对未来天气情况进行预测。我们利用以往的数据训练模型,以提高预测的准确性。通过交叉验证和超参数优化等技术手段,我们优化了模型性能,确保其在实际应用中的有效性和可靠性。 最后,基于Django框架开发前端展示系统,实现天气预报的可视化。用户可以通过友好的界面查询实时天气信息和未来几天内的天气预测。系统还提供多种图表类型,包括折线图和柱状图,帮助用户直观理解天气变化趋势。 本研究的成果为天气预报领域提供了一种新的技术解决方案,不仅增强了数据获取和处理的效率,还提升了用户体验。未来,该系统能够扩展至其他气象相关的应用场景,为大众提供更加准确和及时的气象服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值