Python语言课程设计报告格式.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python语言课程设计报告 题目一:计算离自己生日还有多少天 1.1 问题描述 编程实现,从文件中读取同学的信息后,计算离他们下一次过生日还有多少天。并将结果按照下图格式,存放到“birthday.txt”文件中 1.2设计思想 (1)数据结构 #?输入自己生日,计算离自己生日还有多少天 #?History #生日所在月 #生日所在日 #今年年份 #%s?自基础时间?1970-01-01?00:00:00?到date的秒数 #计算现在时间到基础时间的秒数 #计算今天到生日日期间隔秒数(s1-s2) #判断生日是否已经过去了,如果过去,则计算下一年到现在的时间 (3)基本思路 1.``和$()用法是一样的,用来包裹命令。 2.进行加减等运算时用$(()) 3.if?命令[]中前后都有空格 4.date的一些用法 1.3 算法设计 (1)算法流程图 (2)模块说明 在datetime模块里有一个计算时间差的 timedelta。 让两个datetime对象相减就得到timedelta (3)算法实现 核心算法的实现(写代码段和注释) path = ./info.txt import datetime from dateutil.relativedelta import relativedelta filewritepath = ./result.txt filewrite = open(filewritepath,w) #判断生日前一年是不是闰年 def shifouzengjaiyitian(before,now): if before.year != now.year: if shifoushirunnian(before.year): return 1 return 0 def shifoushirunnian(years): if ((years % 4 == 0 and years % 100 != 0) or (years % 400 == 0)): # 判断是否是闰年 return True else: return False with open(path) as file_object: contents = file_object.readlines() for line in contents: stripline = line.strip() name = stripline.split(,)[0] riqi = stripline.split(,)[1].split(:)[1] birth = datetime.datetime.strptime(riqi, %Y年%m月%d日) now = datetime.datetime.now() for i in range(0,100): nextyear_birth = birth + relativedelta(years=i) if nextyear_birth now: filewrite.writelines(name+,离下次生日(+nextyear_birth.strftime(%Y年%m月%d日)+) +还有+str((nextyear_birth-now).days+1 +shifouzengjaiyitian(nextyear_birth+relativedelta(years=-1),now))+天\n) break filewrite.flush() 1.4.调试分析 (1)优点分析: 用if条件句进行判断,当输入的时间年月日时分秒都在各自的范围之内时,则正确,否则错误 (2)缺点分析: 调用库函数清屏重新显示时分秒,就这样知直到倒数完 改进的方法: 用到for循环if条件句,先把输出的时间换算成时分秒的格式,接着从小时开始判断 1.5.测试 题目2:阿姆斯壮数 1.1 问题描述 在三位的整数中,例如153可以满足13 + 53 + 33 = 153,这样的数称之为Armstrong数 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, P

文档评论(0)

lico9e + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档