Lecture 3. String Manipulation, Guess and Check, Approximations, Bisection
文章目录
随堂阅读资料
- Chapter 3.1 and 3.3-3.5
- PPT Lecture 3
作业
- Problem Set 1 (继续)
正式笔记
String Manipulation 字符串操作
-
将字符串视作一串有序字符串
-
可用==, >, <等进行比较
-
len()是取得字符串长度的函数
-
字符串的数字检索数从0开始,即s[0]是第一个字母
-
可用负号表示字符串的倒数第几个元素
Slice 切片
- 可用切片来选取数组特定元素[start:stop:step]
- 如果给两个数,默认为[start:stop],步长为1
- 步长为-1时,则代表倒着检索
- s[ : : -1]是很好的字符串倒序方法
- 什么都不写则默认从头开始、到尾结束
无法改变性
字符串无法被修改,但字符串变量可以被重新赋值
s = "hello"
s[0] = 'y' #报错
s= 'y'+s[1:len(s)]#能成功执行,即变量s被赋予了新的字符串变量值
Loop Recap 在Loop中的可遍历/迭代对象
-
loop中必有一个loop variable 用于迭代
for var in range(4):#在这里,var从0~3 <expression> for var in range(4,6):# var从4-5 <expression>
-
range是一个可以被遍历/迭代数字的数组,但其他数据类型也可以被迭代,不只是数字序列。
字符串的loop
s = "abcdefgh"
for index in range(len(s)):
if s[index] == 'i' or s[index] =='u':
print("There is an i or u")
for char in s:
if char == 'i' or char == 'u':
print("There is an i or u")
字符串类型可以直接用for进行迭代/遍历
Guess-and-Check 穷举法
- Guess-and-Check也叫exhaustive enumeration
- 给定一个问题
- 猜测答案
- 算法有判断你的答案是否正确的能力
- 继续猜测直至猜对/猜中所有答案
cube root 例
cube = 8