python大作业题目_Python大作业

一、系统概要说明

父模板统一布局:

(1) 头部导航条

(2) 中间主显示区域布局

(3) 底部导航条

注册、登录、注销功能

发布、列表显示

详情页

评论、列表显示

个人中心

搜索、条件组合搜索

文章分类与显示

点赞、收藏

修改密码、头像、上传头像

推荐文章

二、网站结构设计

顶部导航条:

(4) 未登录时:首页、发布、搜索、登录、注册功能(Ps:此时点击发布,自动跳转到登录页面)

(5) 登录后:发布、设置、个人信息、注销功能

中间主显示区域布局:

(1) 用户的发布、点赞、评论总览

(2) 发布详情

(3) 文章分类与显示

底部导航条

三、模块详细设计

发布模块

个人中心模块

(1) 个人信息

{% extends 'yonghufather.html' %}

{% block yonghubody %}

个人信息

用户:{{ username }}

编号:{{ userid }}

昵称:{{ nickname }}

头像:

{% if img is none%}

u=3298685419,1477967578&fm=27&gp=0.jpg

style="width: 100px">

{% else %}

{​{ img }}

style="width: 100px">

{% endif %}

上传头像

文章:{{ fabus|length }}篇

评论:{{ comments|length }}条

收藏文章:{{ shoucang|length }}篇

{% endblock %}

1232389-20180615224233781-471973333.png

(2) 发布信息

1 {% extends 'yonghufather.html' %}2

3 {% block yonghubody %}4

5

6 全部发布信息({{ fabus|length }})

7

8 {% for foo in fabus %}9

10 {{ foo.author.username }}

12 {{ foo.creat_time }}

13 {{ foo.leixing }}

14 {{ foo.title }}

15

16

17

18

{{ foo.detail }}

19

20 {% endfor %}21

22

23

24

25

26

27 {% endblock %}

1232389-20180615224333437-1384233899.png

(3) 评论信息

1 {% extends 'yonghufather.html' %}2

3 {% block yonghubody %}4

5

6 全部评论信息({{ comments|length }})

7

8 {% for foo in comments %}9

10 {{ foo.author.username }}

12 {{ foo.creat_time }}

13

{{ foo.detail }}

14

15

16 {% endfor %}17

18

19

20

21

22

23 {% endblock %}

1232389-20180615224424446-1726441654.png

(4) 收藏文章

1 {% extends 'yonghufather.html' %}2

3 {% block yonghubody %}4

5

6

收藏文章({{ shoucang|length }})

7


8

9

10

11

文章

12

作者

13

14

15

16 {% for foo in shoucang %}17

18

{{ foo.fabu.title }}&nbsp&nbsp&nbsp 浏览:{{ foo.fabu.yuedu }}&nbsp&nbsp&nbsp评论:{{ foo.fabu.comments |length }}&nbsp&nbsp&nbsp点赞:{{ foo.fabu.dianzangs |length }}

19

{{ foo.author.username }}

20

21 {% endfor %}22

23

24

25

26

27

28

29 {% endblock %}

四、数据库设计

用户表:

储存用户的账号与密码,密码在数据库中隐藏,只有管理员身份才能查看。注册成功时,账号与密码就会被录入数据库中;登录要依据数据库中的用户表。

1232389-20180615224559079-2027499107.png

2.发布内容表

表中的信息包括标题、详情和文章类型。

1232389-20180615224654663-1585586634.png

3.点赞表

录入的是用户的点赞情况,主要是统计点赞数量。

1232389-20180615224734867-1301484960.png

4.评论表

录入的是用户的评论情况。

1232389-20180615224819089-1366422454.png

5.收藏表

录入的是用户的收藏情况,主要是统计收藏数量

1232389-20180615225005300-622811140.png

五、系统实现的关键算法与数据结构

高级搜索

可通过某些关键词对发布的内容进行搜索,包含这些关键词的内容都被筛选出来,不包含的内容不显示在首页。

包含限制条件的登录、注册功能

限制条件主要是用在对用户名、密码的限制,包括用户名的组成元素,密码的组成元素。

六、成品展示

首页布局

1232389-20180615225754404-394592405.png

注册页面

1232389-20180615225840571-612560064.png

登录页面

1232389-20180615230006812-2061064802.png

发布页面

1232389-20180615230256365-1499861443.png

个人信息页面

1232389-20180615230413246-986997678.png

发布信息页面

1232389-20180615230501577-69149585.png

评论信息页面

1232389-20180615230528736-1149840596.png

收藏文章页面

1232389-20180615230603325-228129357.png

流水作业调度问题是指将一个作业分成多个子任务,这些子任务需要在多个处理器上执行,每个子任务在不同的处理器上的执行时间也不同。该问题需要求解出一个调度方案,使得所有子任务都能够按照一定顺序得到执行,且所有子任务的完成时间最短。 Python可以使用贪心算法来解决流水作业调度问题。具体来说,可以按照子任务的完成时间从小到大进行排序,然后将每个子任务分配给当前空闲处理器中执行时间最短的处理器。这样可以保证当前处理器的利用率最高,从而使得所有子任务的完成时间最短。 以下是一个示例代码,用于实现流水作业调度问题的贪心算法: ```python def schedule(tasks, num_processors): # 对子任务按照完成时间从小到大排序 sorted_tasks = sorted(tasks, key=lambda x: x[1]) # 初始化每个处理器的当前时间为0 current_time = [0] * num_processors # 初始化每个处理器的任务列表为空 processor_tasks = [[] for _ in range(num_processors)] # 依次将每个子任务分配给当前空闲处理器中执行时间最短的处理器 for task in sorted_tasks: min_time_index = current_time.index(min(current_time)) processor_tasks[min_time_index].append(task) current_time[min_time_index] += task[0] # 返回每个处理器的任务列表和完成时间 return processor_tasks, max(current_time) ``` 其中,`tasks`是一个列表,每个元素表示一个子任务,包括执行时间和完成时间;`num_processors`是处理器的数量。函数返回每个处理器的任务列表和完成时间。 例如,假设有4个子任务,它们的执行时间和完成时间如下所示: ``` [(3, 9), (2, 10), (1, 12), (4, 14)] ``` 假设有2个处理器,可以调用上述函数进行调度: ```python tasks = [(3, 9), (2, 10), (1, 12), (4, 14)] num_processors = 2 processor_tasks, finish_time = schedule(tasks, num_processors) print('Processor tasks:', processor_tasks) print('Finish time:', finish_time) ``` 输出结果为: ``` Processor tasks: [[(3, 9), (1, 12)], [(2, 10), (4, 14)]] Finish time: 14 ``` 可以看到,第一个处理器执行了前两个子任务,完成时间为12;第二个处理器执行了后两个子任务,完成时间为14。整个作业的完成时间为14,是最短完成时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值