作业辅导-python mvc案例
目录
1. 作业题目
2. 作业目的
3. 运行效果
4. 实现过程
5. 知识点巩固
6 知识拓展
7 学习建议
作业辅导解析
Duck_Sudoku 3rd February,2019
1.作业题目:
Question:The project will have two phases. In the first phase we implement constraint propagation to solve simple puzzles. In the second phase we will add back-tracking search to solve harder puzzles. We will use a model-view-controller organization to associate a graphical display with the game.
2.作业目的:
1、 掌握 Python 的基本使用
2、 掌握 model-view-controller 架构
3.运行效果:



4.实现过程:[部分核心代码截图, 截图部分的代码 prefer 中英文注
释]
核心代码如图所示,本次作业主要通过以下函数实现:1、 is_consistent 函数:

2、 naked_single 函数:

3、 hidden_single 函数:

4. solve 函数:

5.知识点巩固:
-Python 面向对象
Python 从设计之初就已经是一门面向对象的语言,正因为如此,在 Python 中创建一个类和
对象是很容易的。本章节我们将详细介绍 Python 的面向对象编程。 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些 基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习 Python 的面向对象编程。 接下来简单的了解下面向对象的一些基本特征:类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共 有的属性和方法。对象是类的实例。 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变 量通常不作为实例变量使用。
数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方 法的覆盖(override),也称为方法的重写。 局部变量:定义在方法中的变量,只作用于当前实例的类。 实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的 内部但是在类的其他成员方法之外声明的。 继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把 一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个 Dog 类型的对象派 生自 Animal 类,这是模拟“是一个(is-a)“关系(例图,Dog 是一个 Animal)。 实例化:创建一个类的实例,类的具体对象。方法:类中定义的函数。 对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
6.知识拓展:
-model-view-controller
MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩 写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑 聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻 辑。MVC 被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户 界面的结构中。MVC 开始是存在于桌面程序中的,M 是指业务模型,V 是指用户界面,C 则 是控制器,使用 MVC 的目的是将 M 和 V 的实现代码分离,从而使同一个程序可以使用不同 的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C 存在的目的则是确保 M 和 V 的同步,一旦 M 改变,V 应该同步更新。
7.学习建议:
1、 熟悉 Python 的基本语法
2、 熟悉 Python 的类以及使用
3、 熟悉 model-view-controller 架构