设为首页 收藏本站
查看: 612|回复: 0

[经验分享] 函数、程序-python综合练习 -by小雨

[复制链接]

尚未签到

发表于 2017-5-3 06:23:41 | 显示全部楼层 |阅读模式
  这两天笔者几篇文章介绍了改函数、程序-的文章. 关联文章的地址
  有一个包括上面容内的件文record.txt

#name, age, score
tom, 12, 86
Lee, 15, 99
Lucy, 11, 58
Joseph, 19, 56

  根据容内,写一个Python程序来成完以下的问题:
  第一栏为姓名(name),第二栏为纪年(age),第三栏为得分(score)
  1)打印如下结果:
  得分低于60的人都有谁?
  谁的名字以L头开?
  有所人的总分是多少?
  2)姓名的首字母要需大写,该record.txt是不是符合此要求? 如何改正错误的方地?
  首先创立一个类,并在类的__init__构造函数中对name,age,score性属赋值

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 class UserAll:
5     def __init__(self, name, age, score):
6         self.name   = name
7         self.age    = age
8         self.score  = score

  然后取读件文,判断首个符字是不是是#,并且把首字母是小写的更新成大写

1 file_name   = 'record.txt'
2 user = []
3 update_user = []
4
5 f = open(file_name)
6 for line in f:
7     if not line.startswith('#'):
8         if line[0].islower():
9             line = line[0].upper() + line[1:]
10         user_list = line.strip().split(', ')
11         user.append(UserAll(user_list[0], user_list[1], user_list[2]))
12     update_user.append(line)
13
14 f.close()
15 f = open(file_name, 'w')
16 f.write(''.join(update_user))

  接下来,我们通过filter函数式编程工具来行进数据的滤过,掏出那些得分小于60和名字首字母是L的用户,并终最打印出来。

1 print "得分小于60的同窗:"
2 for user_score in filter(lambda s: s.score < 60, user):
3     print user_score.name
4
5 print "首字母是L的同窗:"
6 for user_start in filter(lambda s: s.name.startswith('L'), user):
7     print user_start.name

  接下来我们统计有所同窗得分,只要需把每一个同窗的分数相加就好了,可以通过map和lambda函数组合来发生一个只包括每一个同窗得分的表列。最后通过reduce函数式编程工具来行进和求。

1 all_scores = map(lambda s: s.score, user)
2 print "有所同窗的总得分是:%s" % reduce(lambda x, y: x + y, all_scores)

  终最程序的运行结果
DSC0000.png

  文章结束给大家分享下程序员的一些笑话语录: 程序员打油诗   
  写字楼里写字间,写字间里程序员;
  程序人员写程序,又拿程序换酒钱。
  酒醒只在网上坐,酒醉还来网下眠;
  酒醉酒醒日复日,网上网下年复年。
  但愿老死电脑间,不愿鞠躬老板前;
  奔驰宝马贵者趣,公交自行程序员。
  别人笑我忒疯癫,我笑自己命太贱;
  不见满街漂亮妹,哪个归得程序员。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-372231-1-1.html 上篇帖子: python调用 bing api search接口 技术 下篇帖子: 参数函数Python凡人笔记 参数函数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表