计算机科学及编程导论(麻省理工)

计算机科学及编程导论(麻省理工)

5 (18人评价)
  • 课时:(24)

  • 学员:(655)

  • 浏览:(25710)

  • 加入课程

一般代码样式,循环式程序的笔记

相关课时: 笔记详情:

Lecture 3: Common code patterns: iterative programs.

 

本课基本讲述简单的while和for循环格式和创建循环的基本步骤及注意点。本课也介绍了一种新的数据结构Tuple,以及提取(Selection)和切片(Slicing)的基本方法。

 

在上节课所提到的,对于初学者而言,需要培养良好的程序风格,分为以下三点:

  • 在必要时写注释(Comment)
  • 不可更改变量类型(Type)过于频繁
  • 使用描述性(Descriptive)的变量名称

(注意:注释不必面面俱到,只需要在必要时讲明以上程序段或者以下程序段的作用。或者在某一关键步骤后面加以注明,以方便自己或他人在以后阅读中理解)

 

创建一个基本while循环的步骤如下:

  • 选择合适的计数变量(Counting Variable)
  • 在循环外初始化这个变量
  • 设置正确的测试(End Test),即紧跟while之后,冒号之前的语句
  • 在冒号之后建立一个有效程序段
  • 注意增加或减少计数变量

(注意:在循环之后,计数变量往往会比理想值(Expected Value)多或少,此时需要通过增加或减去一定值将其回归理想值。这可以通过手动模拟进行操作)

【重点技巧】在创建较为复杂的循环时,需注意使用流程图(Flow Chart)来明确思路。

 

For循环相较于while循环,有以下两点优势:

  • for循环一般不会出现死循环,只要所创建的数组是有限的。因此,不需要创建计数变量。
  • for循环可以使用任意数组,并不局限于等差数列或者等比数列

 

本课提到的新的数据结构为Tuple,不同于List,Tuple的表达方式为:(1, 2, 3, 4);而List的表达方式为[1, 2, 3, 4]。不同之处在于一个是圆括号,一个是方括号。但对于提取(selection)和切片(slicing),无论是tuple还是list都是通用的。

例:test = (1, 2, 3, 4)

  • 提取:test[0] = 1
  • 切片:test[1:3] 等于提取test[1]和test[2]但不包括test[3]。因此test[1:3] = (2, 3)

注意:tuple和list的相加必须保证两个tuple或者list至少都存入两个或以上的数值。经测试,在python 2.7.3中,如下程序是非法的:

  • a = (1, 2, 3)
  • b = (4)
  • print a + b
  • 出现syntax error

 

最后需要注意的是:字符串也支持提取和切片,因此在读入字符串之后并不必要把字符串转换成list或者tuple而是可以直接进行操作。

 

总结:本课所讲述内容非常基本,瞄一眼即可。

1 1

你感兴趣的课程

理论基础 数学之美
2万+浏览/ 704学员/ 4.4评分
免费
2万+浏览/ 931学员/ 4.7评分
¥9.90
2万+浏览/ 824学员/ 4.8评分
免费