学习了第一单元我们几本可以写出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的更多相关文章

  1. 《程序设计方法》【PDF】下载

    内容简介 <程序设计方法>主要以方法为主导,结合C语言,把程序设计方法学研究中若干成熟的理论和方法用通俗易懂的语言描述出来.<程序设计方法>还选取趣味性强.技巧性高.能够启发学 ...

  2. C++程序设计方法6:算法横向拆分

    例子1:负载监视器,如何在一个程序中实现对这些不同条件的适应呢? int main() { WindowDisplay display; Monitor monitor(&display); ...

  3. C++程序设计方法4:函数模板

    函数模板 有些算法与类型无关,所以可以将函数的参数类型也定义为一种特殊的“参数”,这样就得到“函数模板” 定义函数模板的方法:template<typename T> 返回类型 函数名称( ...

  4. C++程序设计方法3:自动类型转换

    方法1:在源类中定义目标类型转换运算符 #include <iostream> using namespace std; class Dst { public: Dst() { cout ...

  5. C++程序设计方法3:函数重写

    派生类对象包含从基类继承类的数据成员,他们构成了“基类子对象”基类中的私有成员,不允许在派生类成员函数中被访问,也不允许派生类的对象访问他们:真正体现基类私有,对派生类也不开放其权限:基类中的公有成员 ...

  6. C++程序设计方法5:接口设计实例

    //例子:旋转方阵填充,要求矩阵大小任意,尺寸在运行时输入 设计思路:从上到下 int main() { cout << "Please input N:"; int ...

  7. C++程序设计方法5:接口设计

    一切都在变化,因此程序要适应变化: 变化分层 封装 接口与隐藏: 接口:类暴露出来的部分,是类所提供的功能: 隐藏实现的细节: UML类图 接口在哪儿? 设计思路:从上到下设计 实现类的接口 细化

  8. C++程序设计方法4:模板特化

    模板参数的具体化/特殊化 有时,有些类型不适用,则需要对模板进行特殊化处理,这称为“模板特化” 对函数模板,如果有多个模板参数,则特化时必须提供所有参数的特例类型,不能部分特化: 如: char *s ...

  9. C++程序设计方法4:成员函数模板

    成员函数的模板: 普通类的成员函数,也可以定义为函数模板,如: class normal_class { public: int value; template<typename T> v ...

随机推荐

  1. 用js 获取url 参数 页面跳转 ? 后的参数

    记得之前在原来的公司写过这个东西,但是还是忘记怎么接住参数了,只知道怎么把id传过去! 问了身边的大佬 他首先推荐了我一个链接是别人写好的方法 附上链接地址:http://blog.csdn.net/ ...

  2. Vue 2.0基础语法:系统指令

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. Vue初体验 新建一个空的项目,引入vue.js文件.写如下代码: &l ...

  3. JAVA_SE基础——45.基本类型变量.值交换[独家深入解析]

    需求:定义一个函数交换两个基本类型变量的值. 相信看过我前面的文章的同学都应该看的懂我以下的代码: class Demo2 { public static void main(String[] arg ...

  4. 移动端300ms与点透总结

    300ms,主要发生在mobile 为啥会出现300ms延迟现象 浏览器想知道用户是否dobule tap(双击缩放) 下列情况不会出现300ms延迟 桌面浏览器 meta的viewport设置了us ...

  5. SpringCloud的DataRest(一)

    一.概念与定义 Spring Data Rest 基于Spring Data的repository,可以把 repository 自动输出为REST资源, 这样做的好处: 可以免去大量的 contro ...

  6. js基本包装类型和引用类型

    回顾 1.什么是基本类型? 共5个.boolean,string,number,null,undefined. 2.什么是引用类型? 引用类型的值是对象,保存在堆内存中: 引用类型的变量实际上是一个指 ...

  7. python全栈开发-hashlib模块(数据加密)、suprocess模块、xml模块

    一.hashlib模块 1.什么叫hash:hash是一种算法(3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 ...

  8. java循环遍历类属性 get 和set值方法

    //遍历sqspb类 成员为String类型 属性为空的全部替换为"/"Field[] fields = sqspb.getClass().getDeclaredFields(); ...

  9. Linux平台部署.Net Core SDK

    根据微软MSDN,.Net Core无论是1.x还是2.0都只支持64位系统. 准备 以下是.NetCore支持的系统版本 以下 Linux 64 位(x86_64 或 amd64)发行版本/版本支持 ...

  10. TR069网管协议应用在Android系统开发的前言

    随着智能平台的终端设备不断发展,迫切需要我们解决这些终端的管理问题,而现有的终端统一管理平台已经成熟,主要是基于tr069协议网管平台,比如华为的itms等终端管理平台.所以,这篇文章就是为了实现一种 ...