【MIT 6.0001 课程笔记】Lecture 3. String Manipulation, Guess and Check, Approximations, Bisection

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值