学习了第一单元我们几本可以写出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. rcnn fast-rcnn faster-rcnn资料

    ---恢复内容开始--- 框架:https://github.com/rbgirshick 论文:链接: https://pan.baidu.com/s/1jIoChxG 密码: ubgm faste ...

  2. httpClient 中的post或者get请求

    httpClient相对于java自带的请求功能更加强大,下面就以例子的形式给出: //HttpClient Get请求 private static void register() { try { ...

  3. GIT入门笔记(2)- 典型的工作模式

      分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库.   下图是经典的git开发过程.   Git的功能特性:   ...

  4. asp.net(C#)实现功能强大的时间日期处理类完整实例

    作者:smartsmile2012 字体:[增加 减小] 类型:转载 时间:2016-06-30我要评论 这篇文章主要介绍了asp.net(C#)实现功能强大的时间日期处理类,封装了针对日期与时间的各 ...

  5. js中的caller属性和callee属性

    应该用"属性"来称呼caller和callee,而不是方法. caller:返回调用当前函数的函数的引用.a调用b,则返回a(a是boss,因为a把b叫过去干活了): callee ...

  6. 利用JavaScript去掉数组中重复项

    利用JavaScript的object的特性,我们可以非常容易的实现将一个数组的重复项去掉. object的特性是:key一定是唯一的. 把数组重复项去掉: 1 将数组转换成一个object对象,数组 ...

  7. Java:Linux上java -jar xxx.jar命令执行jar包时出现Error: Invalid or corrupt jarfile xxx.jar解决方案

    背景: 从ftp上上传jar包到linux上,之后在linux上通过ftp命令下载jar包文件,开始执行Java-jar,一直提示错误:Error: Invalid or corrupt jarfil ...

  8. Java面试题—中级(中)

    什么是线程死锁?死锁如何产生?如何避免线程死锁?   死锁的介绍:   线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行.当线程进入对象的synchro ...

  9. read运行

    #_*_ coding:utf-8 _*_ from sys import argv from os.path import exists   script, from_file, to_file = ...

  10. ACE工具概述

    一:ACE简介 ADAPTIVE 通信环境(ACE,ADAPTIVE Communication Enviroment)是一种广泛的主机基础设施中间件,ACE可以免费获得,可以在http://ace. ...