Python学习 (二)

原创 2011年01月07日 16:23:00

第二章

软件的如果没有一种系统的方法将会变得非常可怕。

2.1 软件开发流程

         阐述需求:弄清楚到底要解决什么问题。

         确定计划:明确程序能完成什么任务,简单来说就是输入input与输出output是什么,

以及他们之间的关系

         建立构思:阐述程序架构,设计算法

         实施构思:根据构思将算法用语言实现,本书用Python

         测试调试:

         维护程序:

        

2.2 一个实例:温度转换程序

         我们来考虑下面这个案例:小影对摄氏度不熟悉,而是习惯看华氏度,她希望可以编写一个软件帮她自己动解决这个问题,于是这个案例可以按如下过程解决。

         阐述需求:小影不熟悉摄氏度,而希望看到华氏度。

确定计划:输入为摄氏度,输出为华氏度,关系为:F=(9/5)C+32

建立构思:算法的基本模式:Input,Process,Output(IPO),程序要求用户输入数据,然后

                     经过转换生成输出,并在电脑上显示。

实施构思:往往并不立即用特定语言实现,而是先写成伪码再装换成代码。

伪码:

Input the temperature in degrees Celsius (call it celsius)

Calculate fahrenheit as 9/5 celsius + 32

Output Fahrenheit

代码:

# convert.py

# A program to convert Celsius temps to Fahrenheit

# by: Suzie Programmer

def main():

celsius = input("What is the Celsius temperature? ")

fahrenheit = 9.0 / 5.0 * celsius + 32

print "The temperature is", fahrenheit, "degrees Fahrenheit."

main()

 

2.3 程序的元素

       1.名称

       模块,函数,或变量的名称叫做标识符,标识符必须以字母或下划线开头,Python对大小写敏感,注意以下保留字

 

       2.表达式

       变量要被赋值然后才能用于表达式中,否则会提示Name Errot。运算符中,+,-,*,/c语言相通,幂函数为**。注意在表达式中空格可有可无,不会影响正确性。请注意,9/59.0/5.0不同,后面会提到。

 

2.4 输出语句

       Python有一系列严格的语法和语义规则,以print语句为例:

       Print

       Print<expr>

       Print<expr>,<expr>,…,<expr>

       Print<expr>,<expr>,…,<expr>,

总之,一个print语句包括print关键字和一系列由逗号连起来的表达式。注意若以逗号结尾,则下一句print输出会紧接在上一句结尾处。

      

2.5 赋值语句

       1.简单赋值

       <variable>=<expr>

       2.输入赋值

       <variable>=input(<prompt>)

       习惯在prompt的结尾加一个空格,使得用户输入是不会紧贴在冒号后面:

       x=imput(“please input a number: ”)

       3.同时赋值

       <var>,<var>,…,<var>=<expr>,<expr>,…,<expr>

同时赋值是指各个表达式的赋值是同时发生的,比如,在数据交换时,要让x,y值交换,可以用:

temp=x

x=y

y=temp

但是在Python中,只需一句简单的同时赋值语句:

x,y=y,x

因为两个表达式同时执行赋值,因此不会造成覆盖。

       同时赋值还用在输入语句中,如:

x,y=input(“please input two numbers: ”)

       输入时,只要将个输入值用逗号隔开即可。

 

 

 

2.6 有限循环

一个Pythonfor循环有以下形式:

fo r<var> in <sequence>:

<body>

       body循环体可以是任意数量的语句,这些语句的起始与结束由for语句下一行开始的tab符标志。

       sequence序列是由方括号括起来的一系列值,值的数量决定循环次数,如:

for i in [1,3,5,7]:

       print i

       一个有趣的事情是,循环会改变程序的控制流,通常我们认为计算机串行执行序列,但是循环语句会使Python回头重复执行,这种循环语句叫做控制结构control structures,程序员常用流图(flowcharts表示控制结构,比如for的流图

      

【机器学习基础】Least squares最小二乘法

最小二乘法是求线性回归问题最基础的方法之一,最近花了一点时间深入研究了一下,然后简单的整理一下思路。先从一个简单的例子开始,对于点A(1,1),B(2,2),C(3,2) 拟合出一条直线 y = C...
  • u012315428
  • u012315428
  • 2016年12月05日 15:19
  • 647

Python下opencv的使用---二值化

图像的阈值处理一般使得图像的像素值更单一、图像更简单。阈值可以分为全局性质的阈值,也可以分为局部性质的阈值,可以是单阈值的也可以是多阈值的。当然阈值越多是越复杂的。下面将介绍opencv下的三种阈值方...
  • jjddss
  • jjddss
  • 2017年06月02日 09:26
  • 1220

图像的二值化之python+opencv

定义:图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。            一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直...
  • what_lei
  • what_lei
  • 2015年10月15日 22:05
  • 18148

maven实战学习(二)--------------maven安装和配置

1.Windows上安装maven 1.1检查JDK安装 Maven可以运行在JDK1.4及以上的版本。打开Windows命令行,运行如下命令来检查安装" 如果没有安装或者没有配置JAVA_...
  • happyAnger6
  • happyAnger6
  • 2015年07月16日 19:49
  • 1218

python-opencv图片二值化

简单阈值 像素值高于阈值时,我们给这个像素附一个新值,否则我们给他赋予另外一种颜色,这个函数是cv2.threshhold().这个函数的第一个参数就是原图像,原图像应该是灰度图。第二个参数就是用来对...
  • qq_33160790
  • qq_33160790
  • 2016年12月22日 12:19
  • 564

机器学习(二)--- 分类算法详解

感觉狼厂有些把机器学习和数据挖掘神话了,机器学习、数据挖掘的能力其实是有边界的。机器学习、数据挖掘永远是给大公司的业务锦上添花的东西,它可以帮助公司赚更多的钱,却不能帮助公司在与其他公司的竞争中取得领...
  • china1000
  • china1000
  • 2015年09月20日 15:47
  • 11392

机器学习算法与Python实践之(二)支持向量机(SVM)初级

机器学习算法与Python实践之(二)支持向量机(SVM)初级zouxy09@qq.comhttp://blog.csdn.net/zouxy09        机器学习算法与Python实践这个系列...
  • zouxy09
  • zouxy09
  • 2013年12月12日 23:46
  • 65954

二值化神经网络系列一:二值化神经网络介绍

二值化神经网络以其高模型压缩率和快计算速度的潜在优势,近些年成为深度学习的热门研究方向。本篇博文将对二值化神经网络做一个详细的介绍。 尊重原创,转载请注明:  http://blog.csdn...
  • fsFengQingYangheihei
  • fsFengQingYangheihei
  • 2017年03月15日 17:36
  • 1723

利用python手动写最小二乘估计

今天朋友请我吃完晚饭回来,刚刚一个python群问起最小二乘回归估计的问题,他不知道在python里面怎么实现,我告诉他有很多方法去实现,比如说sklean库里面有关于最小二乘估计现成模块,利用pyp...
  • luoyexuge
  • luoyexuge
  • 2015年10月13日 21:25
  • 1555

Python-OpenCV 处理图像(八):图像二值化处理

0x00. 图像二值化 图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。 将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局...
  • qq_26898461
  • qq_26898461
  • 2016年01月04日 10:26
  • 1767
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python学习 (二)
举报原因:
原因补充:

(最多只允许输入30个字)