回顾mitx-6.00.1x-week1
@Date : 2018-07-17 22:55:13
@Author : lmingzhi (lmingzhi@gmail.com)
@Link :
@Version : ver1.0
[TOC]
2018.07.17
1.5h week 1-2 要点
注意点:
week 1-2 Ex7
error on Test 2 → count 在循环内被反复初始化。。。
week 1-2 Core Elements of Programs
2.1 Video Bindings
- name: descriptive, meaningful, helps you re-read code; cannot be keywords
- value: information stored, can be updated
- variable name Bindings with = (assignment)
注意点:
-
10.0 == 10
→True
. Python will compare two numbers by promoting the lower level to the higher before comparison -
4/2
→2.0
(python3), the/
operator will always give you afloat
.
2.2 Video Strings
2.3 Video Input / Output
text = input('say something')
num = int(input("Type a number"))
- input 获取的类型为str
- return a string, so must care if working with numbers
2.4 Video IDEs
我喜欢的编辑器:
- Sublime Text (需要高度自定义,对初学者不友好)
- Jupyter Notebook
- Visual Studio Code (对初学者友好,如果没有用过sublime, 也许我会喜欢上这个编辑器)
专有名词:
- IDE(Integrated development environment)
- IDLE(just a name, the IDE that comes as part of the standard python installation package)
- shell
- cmd
2.5 Video Control Flow
- Branching Programs → if... elif ... else
- using control in loops
- while loop
- for loop
- range(start, stop, step) → 前闭后开,[start, stop), 仅能是整数
- break statment → 跳出当前一层的循环
- continue statment → 结束本次循环,继续进行下个循环
for loops VS while loop
for loops
- know number of iterations
- can end early via break
- uses a counter
- can rewrite a for loop using a while loop
while loops
- unbounded number of iterations
- can end early via break
- can use a counter but must initialize before loop and increment it inside loop
- may not be able to rewrite a while loop using a for loop
2.6 Video iteration
some properties of iteration loops:
- need to set an iteration variable outside the loop
- need to test variable to determine when done
- need to change variable within the loop, in addition to other work
cost time:
- Branching structure cost constant time
- loop structure takes time depends on values of variables as well as the length of programme.
2.7 Video Guess and Check
loop characteristics —— need a loop variable
- initialized outside loop
- changes within loop
- test for termination depends on variable (e.g. with decrementing function)
Exhaustive enumeration 穷举法,遍历所有可能性
- Guess and Check methods can work on problems with a finite number of possibilities.
- Exhaustive enumerations is a good way to generate guesses in an organized manner.
7月16日
week 1-1 ex4~ex10
week 1-2 ex1~ex6
week 1-1 Introduction to Python
1.4 Video language
Ex4 syntax, static semantics, semantics
from Edx bbs...
Static Semantics tells us which syntactically correct expressions have meaning
For example, 5/'zxd' is syntactically valid in the
Python language, but doesn't have meaning leading to errors. Since we cannot divide a
number with a stringSemantics is where the expression or the script is syntactically valid, has meaning but the output is not the intended one, Semantics are the most common mistakes and the harder to spot. Constantly leading to infinite loops
syntax 语法
static semantics 语法正确,语句有意义,无歧义
semantics 语法正确,语句有意义,但可能有多种含义
学习目标
- 学习编程语言的语法和语义
- 学会将一个解决方案(recipes),转换为计算机可识别和执行的形式
- 学会利用不同类型的计算思维,泛化,触类旁通去解决复杂问题。
1.5 video types
运算优先度
- **
- *
- /
- + and -
1.6 video variable
variable = value
- reuse names instead values
- easier to change code later
1.7 video operators and Branching
- if ... elif ... else...
- 按顺序判断,如果有一个判断为True, 则执行,跳出判断语句,否则继续进行下一个判断
- elif和else在判断语句结构中非必要