mooc- 基本程序设计方法week1,week2
学习了第一单元我们几本可以写出10行左右的代码。
week1:python编程之基本方法
1、从计算机到程序设计语言:
理解计算机:计算机是能够根据一组指令操作数据的机器。
功能性:可以进行数据计算
可编程性:根据一系列指令来执行
计算机的分类:嵌入式计算机、超级计算机、服务器计算机、个人计算机、网络计算机
2、程序设计的基本方法:
IPO方法:
I:输入,程序的输入,包括用户手工输入、网络输入、程序内部参数输入、文件输入、随机数据输入。输入是一个程序的开始。
P:处理,程序的主要逻辑,程序对输入进行处理输出产生结果,处理的方法也叫算法,是程序最重要的部分,算法是一个程序的灵魂。
O:输出,程序的输出,包括屏幕显示输出、网络输出、操作系统内部变量输出、文件输出。输出是一个程序展示运算成果的方式。
那么有没有没有输入、输出的程序呢,答案是有,例如:where(True)a=2,这是一个死循环,死循环没有输入、输出,那么死循环是不是就没有价值呢,答案是否定的,死循环通过不间断的执行,可以快速消耗cpu的资源,因此我们可以测试cpu的性能。因此IPO是思考程序设计最基本的方法。
week1:python变成之实例解析
1、通过“温度转换程序”来讲解python语法元素入门
自找介质默写“温度转换程序”中的python语法元素,介质如下:
i:首先体现了几本程序设计方法
ii:再次通过“温度转换程序”这个程序例子体现了python的语法元素,如下所列:
程序元素:注释、输入、输出、分支、变量:常量,保留字、切片:字符串、强制类型转换、格式化输出:%和{}format、表达式、赋值语句:可以同时给多个变量赋值、缩进、循环。
2、蟒蛇绘制程序
自找介质默写“蟒蛇绘制程序”中的python语法元素,介质如下:
i:“蟒蛇程序设计分析”
turtle.setup()函数用于启动一个图形窗口,它有四个参数。
turtle.setup(width,height,startx,starty)分别是起动窗口的宽度和高度,小乌龟x轴和y轴起点位置确定。
我们所使用的显示屏幕也是一个坐标系,该坐标系以左上角为原点,像左和像下分别为x轴和y轴.
turtle.pensize()函数表示小乌龟运动轨迹的宽度,单位是像素。
turtle.pencolor()函数表示小乌龟运动轨迹的颜色。
turtle.seth()函数表示小乌龟运动轨迹的方向。

turtle.circle()函数让小乌龟沿着一个圆形爬行,第一个参数描述圆形轨迹的半径,第一个参数有正负功能之分,第二参数描述圆形的弧度值。
turtle.fd()函数表示让小乌龟向前直线爬行移动,它有一个参数表示爬行的距离。
ii:程序设计元素:函数、程序运行、turtle库、import导入外部库的关键字。
3、turtle 库快速参考,详见下载的附件,e:\学习\python
4、week1的练习
i:第一单元练习已完成。绘制运行出了太阳花,五角星。
ii:eval() 函数用来执行一个字符串表达式,并返回表达式的值。
#TempConvert.py
for i in range(3):
val=input("qing shu ru xu yao zhuan huan de wen du,li ru 32 C:")
if val[-1] in ['c','C']:
f=1.8*eval(val[0:-1])+32
print("zhuan huan hou de wen du wei:%.2ff"%f)
elif val[-1] in ['f','F']:
c=(eval(val[0:-1])-32)/1.8
print("zhuan huan hou de wen du wei:%.2fc"%c)
else:
print('shu ru you cuo')
iii:自己也画了一个等边三角形
iv:python语言的魅力在于使用大量的外部函数库,python对函数库的引用有两种方式,第一种方式是import <库名>,如果需要用到函数库中的函数,则需要<库名>.<函数名>.第二种方式是:from <库名> import <函数名> ,调用函数不需要库名,直接使用函数名。两种引用方式对程序运行没有区别,需要注意,第一种用户定义的函数名可疑和库中的名字一样,第二种用户程序中的函数名不能用函数库中的名字定义。
v:turtle库中的其它函数不熟悉,另外week1 第一单元 第7个和第8个关于turtle的例子也不熟悉。
mooc- 基本程序设计方法week1,week2的更多相关文章
- 《程序设计方法》【PDF】下载
内容简介 <程序设计方法>主要以方法为主导,结合C语言,把程序设计方法学研究中若干成熟的理论和方法用通俗易懂的语言描述出来.<程序设计方法>还选取趣味性强.技巧性高.能够启发学 ...
- C++程序设计方法6:算法横向拆分
例子1:负载监视器,如何在一个程序中实现对这些不同条件的适应呢? int main() { WindowDisplay display; Monitor monitor(&display); ...
- C++程序设计方法4:函数模板
函数模板 有些算法与类型无关,所以可以将函数的参数类型也定义为一种特殊的“参数”,这样就得到“函数模板” 定义函数模板的方法:template<typename T> 返回类型 函数名称( ...
- C++程序设计方法3:自动类型转换
方法1:在源类中定义目标类型转换运算符 #include <iostream> using namespace std; class Dst { public: Dst() { cout ...
- C++程序设计方法3:函数重写
派生类对象包含从基类继承类的数据成员,他们构成了“基类子对象”基类中的私有成员,不允许在派生类成员函数中被访问,也不允许派生类的对象访问他们:真正体现基类私有,对派生类也不开放其权限:基类中的公有成员 ...
- C++程序设计方法5:接口设计实例
//例子:旋转方阵填充,要求矩阵大小任意,尺寸在运行时输入 设计思路:从上到下 int main() { cout << "Please input N:"; int ...
- C++程序设计方法5:接口设计
一切都在变化,因此程序要适应变化: 变化分层 封装 接口与隐藏: 接口:类暴露出来的部分,是类所提供的功能: 隐藏实现的细节: UML类图 接口在哪儿? 设计思路:从上到下设计 实现类的接口 细化
- C++程序设计方法4:模板特化
模板参数的具体化/特殊化 有时,有些类型不适用,则需要对模板进行特殊化处理,这称为“模板特化” 对函数模板,如果有多个模板参数,则特化时必须提供所有参数的特例类型,不能部分特化: 如: char *s ...
- C++程序设计方法4:成员函数模板
成员函数的模板: 普通类的成员函数,也可以定义为函数模板,如: class normal_class { public: int value; template<typename T> v ...
随机推荐
- MSSQL 2000 错误823恢复
一.故障描述 MSSQL Server 2000 附加数据库错误823,附加数据库失败.数据库没有备份,不能通过备份恢复数据库,急需恢复数据库中的数据. 二.故障分析SQL Server数据库 823 ...
- 服务器数据恢复_Linux网站服务器故障数据恢复案例
[数据恢复故障描述] 一台linux网站服务器,DELL R200,管理约50个左右网站,使用一块SATA 160GB硬盘.正常使用中突然宕机,尝试再次启动失败,将硬盘拆下检测时发现存在约100个坏扇 ...
- Mego(1) - NET中主流ORM框架性能对比
从刚刚开始接触ORM到现在已有超过八年时间,用过了不少ORM框架也了解了不少ORM框架,看过N种关于ORM框架的相关资料与评论,各种言论让人很难选择.在ORM的众多问题中最突出的问题是关于性能方面的问 ...
- 【转】optach学习
[转自:https://yq.aliyun.com/articles/28007,仅作学习用途] 摘要: Opatch 是oracle公司开发的安装,卸载,检测patch冲突的工具,管理oracle所 ...
- 如何将portfolio产品图片上的悬停去掉?
在Avada主题里,文章和portfolio的分类界面的图片,鼠标移入后都会出现这个东西 那么如何把它去掉,改为直接点击产品图片后进入产品详情页呢? 在theme option里搜索image rol ...
- api-gateway实践(09)支持rest服务注册
一.GET-GET 1.前端定义 2.后端定义 2.1.基础定义 2.2.path参数.head参数.query参数 2.3.常量参数 2.4.系统参数 2.5.结果定义 二.POST-POST 1. ...
- Spring Security 入门(1-4-2)Spring Security - 认证过程之AuthenticationProvider的扩展补充说明
1.用户信息从数据库获取 通常我们的用户信息都不会向第一节示例中那样简单的写在配置文件中,而是从其它存储位置获取,比如数据库.根据之前的介绍我们知道用户信息是通过 UserDetailsService ...
- pandas.DataFrame.describe 官方文档翻译percentile_width,percentiles,include, exclude
使用格式:DataFrame.describe(percentile_width=None, percentiles=None, include=None, exclude=None) 作用:生成 ...
- jQuery serialize()方法获取不到数据,alert结果为空
网上查找,问题可能是 id有重复 经排查,没有发现重复id 解决方案 form表单中每个input框都没有name属性,添加name属性即可 若name属性与jQuery的关键字有冲突,也可导致该问题 ...
- ubuntu16.04下安装chrome
1.在终端中,输入以下命令: sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.l ...