组员职责分工

组员 分工
林涛(组长) 分配任务、整理数据、写博客
童圣滔 UI界面制作
林红莲 UI界面制作
潘雨佳 测评出福州最受欢迎的商圈
于瀚翔 测评出福州最受欢迎的商圈
覃鸿浩 测评出福州人均消费50以下,50-100、100-200、200以上最佳(性价比最高)的前五家美食餐厅
袁正闻 测评出福州人均消费50以下,50-100、100-200、200以上最佳(性价比最高)的前五家美食餐厅
吕瑞峰 测评出福州最佳美食聚集地
蒋梦迪 测评出福州最佳美食聚集地
王德钊 测评出福州服饰类综合评分最高的商圈
吴友昆 测评出福州服饰类综合评分最高的商圈

github 的提交日志截图

程序运行截图

程序运行环境

NET Common Language Runtime(CLR)

GUI界面

基础功能实现

  • 部分代码
import wx
import wx.grid as wg
import openpyxl class MyFrame1(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,'主界面',pos=(230,120),size=(1000,700),style = wx.DEFAULT_FRAME_STYLE)
self.SetMaxSize((1000, 700))
self.panel = wx.Panel(self,size=(1000, 700))
self.panel.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBack) self.font = wx.Font(20, wx.DEFAULT, wx.NORMAL, wx.NORMAL)
font = wx.Font(16, wx.SWISS, wx.NORMAL, wx.LIGHT)
self.bt_game = wx.Button(self.panel, label='最受欢迎的商圈', pos=(390,50),size=(200, 60), style=0)
self.bt_game.SetBackgroundColour('DARK TURQUOISE')
self.bt_game.SetForegroundColour('FIREBRICK')
self.bt_game.SetFont(font=font)
self.bt_game.Bind(wx.EVT_BUTTON, self.zshysq)
self.bt_rank = wx.Button(self.panel, label='美食餐厅', pos=(390,200),size=(200, 60))
self.bt_rank.Bind(wx.EVT_BUTTON, self.msct)
self.bt_rank.SetBackgroundColour('LIGHT STEEL BLUE')
self.bt_rank.SetForegroundColour('FIREBRICK')
self.bt_rank.SetFont(font=font)
self.bt_history = wx.Button(self.panel, label='最佳美食聚集地', pos=(390,350),size=(200, 60), style=0)
self.bt_history.Bind(wx.EVT_BUTTON, self.zjmsjjd)
self.bt_history.SetBackgroundColour('DARK TURQUOISE')
self.bt_history.SetForegroundColour('FIREBRICK')
self.bt_history.SetFont(font=font)
self.bt_room = wx.Button(self.panel, label='服饰类最佳评分商圈', pos=(390,500),size=(200, 60))
self.bt_room.Bind(wx.EVT_BUTTON,self.fslzjpfsq)
self.bt_room.SetBackgroundColour('LIGHT STEEL BLUE')
self.bt_room.SetForegroundColour('FIREBRICK')
self.bt_room.SetFont(font=font) self.panel5 = wx.Panel(self, size=(1000, 700))
self.panel5.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBack1)
self.bt_re5 = wx.Button(self.panel5, label='返回', pos=(10, 10), size=(80, 40), style=0)
self.bt_re5.SetBackgroundColour('white')
self.bt_re5.SetFont(self.font)
self.bt_re5.Bind(wx.EVT_BUTTON, self.re5)
self.grid5 = wg.Grid(self.panel5, -1)
self.grid5.CreateGrid(10, 4)
self.grid5.SetSize((663, 290))
self.grid5.SetPosition((150, 180))
for i in range(3):
self.grid5.SetColSize(i, 160)
for i in range(10):
self.grid5.SetRowSize(i, 40)
for i in range(10):
if not (i % 2):
self.grid5.SetCellBackgroundColour(i, 0, 'TURQUOISE')
self.grid5.SetCellBackgroundColour(i, 2, 'TURQUOISE')
self.grid5.SetCellBackgroundColour(i, 1, 'TURQUOISE')
self.grid5.SetCellBackgroundColour(i, 3, 'TURQUOISE')
self.grid5.SetColLabelValue(0, "餐厅名")
self.grid5.SetColLabelValue(1, "餐厅地址")
self.grid5.SetColLabelValue(2, "消费均额")
self.grid5.SetColLabelValue(3, "评分")
self.grid5.SetLabelBackgroundColour('white')
self.panel5.Hide() def OnEraseBack1(self,event):
dc = event.GetDC()
if not dc:
dc = wx.ClientDC(self)
rect = self.GetUpdateRegion().GetBox()
dc.SetClippingRect(rect)
dc.Clear()
bmp1 = wx.Bitmap("90/zjm.png")
dc.DrawBitmap(bmp1, 0, 150) def vvvvt(self):
vsizer_all = wx.BoxSizer(wx.VERTICAL)
vsizer_all.Add(self.bt_game, proportion=0, flag=wx.ALIGN_CENTER|wx.ALL, border=45)
vsizer_all.Add(self.bt_rank, proportion=0, flag=wx.ALIGN_CENTER|wx.ALL, border=45)
vsizer_all.Add(self.bt_history, proportion=0, flag=wx.ALIGN_CENTER|wx.ALL, border=45)
vsizer_all.Add(self.bt_room, proportion=0, flag=wx.ALIGN_CENTER|wx.ALL, border=45)
self.panel.SetSizer(vsizer_all) def OnEraseBack(self,event):
dc = event.GetDC()
if not dc:
dc = wx.ClientDC(self)
rect = self.GetUpdateRegion().GetBox()
dc.SetClippingRect(rect)
dc.Clear()
bmp = wx.Bitmap("90/zjm.png")
dc.DrawBitmap(bmp, 0, 200) def zshysq(self,event):
'''self.bt_history.Hide()
self.bt_rank.Hide()
self.bt_room.Hide()
self.bt_game.Hide()'''
self.panel.Hide()
self.panel2.Show() def msct(self,event):
self.panel.Hide()
self.panel3.Show() def re5(self,event):
self.panel5.Hide()
self.panel.Show() if __name__=='__main__':
app=wx.App()
frame=MyFrame1(None,-1)
frame.Show()
app.MainLoop()

鼓励有想法且有用的功能

  • 高级数据可视化。数据可用柱状图展示。

遇到的困难及解决方法

  • 林涛

    困难:不会爬虫。

    解决:利用爬虫软件爬了一些数据,但不全。

  • 童圣滔

    困难:不知道如何构建具体界面,没有适合的图片素材。

    解决:百度。

  • 林红莲

    困难:本来和一个队友一起做UI界面来着,但是我只会用HTML,CSS写前端,编程语言上出现分歧,然后我就去帮忙爬虫了,但我本身就不怎么会爬虫,python也学的不怎么样,有几个库函数我们一直下载不下来。

    解决:试过百度的很多办法,也有请大佬帮忙,都没有得到解决

  • 潘雨佳

    困难:刚开始用pycharm下载解析网页lxml库的时候,下载不了。

    解决:最后放弃,转用VS2017下载。

  • 于瀚翔

    困难:python才学会,很多东西还是不会,爬虫就不会写。

    解决:除了爬虫不会写我也没搞明白要爬什么。

  • 覃鸿浩

    困难:部分网站保护数据,无法爬虫。

    解决:没有解决。

  • 袁正闻

    困难:调用高德地图的api一直报错说接口不可用,格式都按照要求写了不知道哪里出错,只能用高德api网页自动生成去搜索,但是搜出来信息非常杂乱不知道怎么利用。

    解决:没有解决。

  • 吕瑞峰

    困难:完全没有接触过python和api的内容。

    解决:看菜鸟教程速成python与api接口的内容,但是没有解决,非常的失败。

  • 蒋梦迪

    困难:调用高德地图的api一直报错说接口不可用,格式都按照要求写了不知道哪里出错,只能用高德api网页自动生成去搜索,但是搜出来信息非常杂乱不知道怎么利用。

    解决:没有解决。

  • 王德钊

    困难: 不知道怎么用API实现想要的功能

    解决:基本解决。

  • 吴友昆

    困难: python爬虫爬不出数据

    解决:修改了很多次,感觉代码没错,最后也没弄明白。

马后炮

  • 林涛:

    如果我没有这么菜,那么就不会这样一无所成。

  • 童圣滔:

    如果我事先学习一下爬虫知识,就能不在搜集资料上花费那么多时间了。

  • 林红莲:

    但凡我多学一点知识,也不至于这么菜!

  • 潘雨佳:

    如果我课外再多学些东西,那么久不会用时方恨少。

  • 于瀚翔:

    以后多去学点什么吧,虽然时间实在是不够用。

  • 覃鸿浩:

    如果我实践更多一点,那么就会更有经验。

  • 袁正闻:

    如果多学点爬虫的话,那么应该可以很好去做东西了!

  • 吕瑞峰:

    如果早点学习python,那么不至于啥都不会。

  • 蒋梦迪:

    如果我多学习,那么我就会更优秀。

  • 王德钊:

    如果之前掌握的知识多一点,那么就容易多了,这次编程所涉及的知识基本都是现学的

  • 吴友昆:

    如果决定更果断,技能更精进,就不会这么菜的写不出东西来了

评估每位组员的贡献比例

组员 贡献比例
林涛(组长) 10%
童圣滔 12%
林红莲 7%
潘雨佳 7%
于瀚翔 8%
覃鸿浩 10%
袁正闻 10%
吕瑞峰 8%
蒋梦迪 8%
王德钊 10%
吴友昆 10%

PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 40 40
Estimate 估计这个任务需要多少时间 10 10
Development 开发 0 0
Analysis 需求分析 (包括学习新技术) 100 120
Design Spec 生成设计文档 20 20
Design Review 设计复审 0 0
Coding Standard 代码规范 (为目前的开发制定合适的规范) 0 0
Design 具体设计 20 20
Coding 具体编码 10 10
Code Review 代码复审 0 0
Test 测试(自我测试,修改代码,提交修改) 0 0
Reporting 报告 20 20
Test Repor 测试报告 0 0
Size Measurement 计算工作量 10 10
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 10 10
合计 240 260

学习进度表

第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
1 20 20 3 3 学习爬虫(未完成)

第四组团队git现场编程实战的更多相关文章

  1. 第四组 团队Git现场编程实战

    组员职责分工 组员 分工 林涛(组长) 分配任务.整理数据.写博客 童圣滔 UI界面制作 林红莲 UI界面制作 潘雨佳 测评出福州最受欢迎的商圈 于瀚翔 测评出福州最受欢迎的商圈 覃鸿浩 测评出福州人 ...

  2. 第11组 团队Git现场编程实战

    第11组 团队Git现场编程实战 组员职责分工: 前端部分: 陈郑铧:构架的搭建,前端模块开发 陈益:前端模块开发 李镇平:前端模块开发 后端部分: 沈国煜:后端模块开发 王泽鸿:后端模块开发 林铮威 ...

  3. 第08组 团队Git现场编程实战

    一.组员职责分工 算法:庄锡荣,林鑫灿 UI:许煌标,蔡峰,林晓锋,陈珊珊,侯雅倩,吴珂雨 博客:陈珊珊,王钟贤 二.github提交日志 三.程序运行截图 运行中爬取到的部分信息 数据库中的部分信息 ...

  4. 第12组 团队Git现场编程实战

    分工及贡献 组内有三人去考证了,只剩下6人 组员 分工 贡献比例 王永福 前后端,爬虫,博客主体 30% 孙承恺 建模,算法设计,统筹 18% 邱畅杰 爬虫 15% 徐祖豪 前端数据可视化 13% 张 ...

  5. 第09组 团队Git现场编程实战

    组长博客链接 1.团队分工 团队成员 分工明细 王耀鑫 博客撰写,数据处理 陈志荣 前端界面,前端功能实现 陈超颖 前端界面,前端功能实现 沈梓耀 前端界面,前端功能实现 林明镇 数据处理 滕佳 前端 ...

  6. 第07组 团队Git现场编程实战

    组员职责分工 团队成员 分工 杨明哲 爬数据,做网页 林兴源 合作编码完成了对美团数据的分析,分析出最有发展潜力的十佳好店 卞永亨 从大众点评分析出了服装商圈 林鑫 合作编码完成了对美团数据的分析,分 ...

  7. 第03组 团队git现场编程实战

    1.组员职责分工 张逸杰:复制监督整个编程任务的进程以及协助组员编程 黄智锋.刘汪洋:负责UI设计 苏凯婷.鲍冰如:爬取数据并负责测评出福州最受欢迎的商圈 陈荣杰.杨锦镔:爬取数据并负责测评出福州人均 ...

  8. 第06组 团队Git现场编程实战

    一.组员职责分工 队员姓名 主要分工 朱庆章 测评福州最受欢迎的商圈(参考人气) 陈梦雪 测评福州最受欢迎的商圈(参考人气) 关文涛 分别测评福州人均消费50以下,50-100.100-200.200 ...

  9. 第03组团队Git现场编程实战

    1.组员职责分工 张逸杰:复制监督整个编程任务的进程以及协助组员编程 黄智锋.刘汪洋:负责UI设计 苏凯婷.鲍冰如:爬取数据并负责测评出福州最受欢迎的商圈 陈荣杰.杨锦镔:爬取数据并负责测评出福州人均 ...

随机推荐

  1. werkzeug/routing.py-Rule源码分析

    Rule类主要用来定义和表示一个URL的模式.主要定义了一些关键字参数,用来改变url的行为.例如:这个url可以接收的请求方法,url的子域名,默认路径,端点名称,是否强制有斜杠在末尾等等 在最开始 ...

  2. 2019年6月车型数据Access数据库+缩略图 更新于2019年6月5日.

    工作需要才来采集的, 数据来源某卡汽车网, 分享出来给需要的人吧, 本着分享的精神, 我就不猥琐的放到csdn下载了 本来是sql server的, 我导出到access了, 也方便大家查看. 顺手抓 ...

  3. 多线程之NSOperation简介

    在iOS开发中,为了提升用户体验,我们通常会将操作耗时的操作放在主线程之外的线程进行处理.对于正常的简单操作,我们更多的是选择代码更少的GCD,让我们专注于自己的业务逻辑开发.NSOperation在 ...

  4. stm32 引脚映射 和 ADC

    老是弄不明白ADC的输入到底在哪,看了stm32F103Ve的datasheet,将引脚和通道的映射关系贴在下面: 好了,写到这,我已经看了中文手册一上午了,可是啥都没看懂,下午接着看,写代码不重要, ...

  5. Spring之AOP原理、代码、使用详解(XML配置方式)

    Spring 的两大核心,一是IOC,另一个是AOP,本博客从原理.AOP代码以及AOP使用三个方向来讲AOP.先给出一张AOP相关的结构图,可以放大查看. 一.Spring AOP 接口设计 1.P ...

  6. sql 四舍五入 保留两位小数

    一.问题描述 数据库里的 float momey 类型,都会精确到多位小数.但有时候 我们不需要那么精确,例如,只精确到两位有效数字. 二.sqlserver解决方案: 1. 使用 Round() 函 ...

  7. Robo 3T SQL

    查询指定日期,指定显示字段,排序,注释功能 db.getCollection('spuBasisInfo') .find({"createTime":{$gte:ISODate(& ...

  8. ubuntu18.04安装wine

    wine是一个兼容层,可以从多平台(linux,macos,等)运行windows应用. Wine (Wine Is Not an Emulator)[即Wine不是一个模拟器]是一个在Linux和U ...

  9. javascript_13-函数是一种数据类型

    函数是一种数据类型 函数是一种数据类型 function var num =60; // 1 函数是一种数据类型 function var myFun = function(){ console.lo ...

  10. OpenStack 2014.1(Icehouse) 更新说明

    OpenStack 2014.1(Icehouse) 更新说明 1.综合升级说明 Ÿ   Windows安装包应使用PBR 0.8版本,以避免发生bug1294246 Ÿ   log-config选项 ...