第04组 团队Git现场编程实战
阅读原文时间:2023年07月15日阅读:1

组员职责分工

组员

分工

林涛(组长)

分配任务、整理数据、写博客

童圣滔

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

学习爬虫(未完成)

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章