文章目录
- Input & Output
- Variables & Data types
- Python字符串重复(字符串乘法)
- 字符串和数字连接在一起print时,要强制类型转换int为str
- 用input()得到的用户输入,是str类型,如果要以int形式计算的话,需要强制类型转换为int
- 我们可以只使用一个变量user_input来节省内存
- convert string type to date type
- convert date to string
- Multi-line code statement 换行符
- 在括号内,行的延续的自动的
- Escape sequence 转义字符
- String format
- string format 中限制输入占位大小的同时小数点后位数
- Arithmetic operators
- Fundamentals of the Analysis of Algorithm Efficiency
- Algorithm analysis framework 算法分析框架
- 1. Measuring Input Sizes
- 2. Units for Measuring Running Time
- 3. Order of growth
- 4. Worst-Case, Best-Case, and Average-Case Efficiency
- Summary
- 渐进式符号
- no faster
- at least as fast as
- at same rate
- Summary
- Some Properties
- Using Limits for Comparing Orders of Growth
- Analysis of non-recursive algorithms 非递归算法的分析
- Analysis of recursive algorithms 递归算法的分析
- Examples
- 求n!
- 重要的递归类型
- For-loop
- 字符串操作
- 字符串内容大写/小写
- 找字串位置,找不到返回-1
- 字符串长度
- 根据下标返回字符串中对应字符
- 切割字符串
- Data Structure
- Abstract data type (ADT)
- Function 函数
- 四舍五入保留小数点后多少位函数
- min,max函数是python内置的
- random函数
Input & Output
Variables & Data types
str: a string represents a sequence of characters.
int: an integer, a whole number
float: a decimal number
bool: a boolean value is either True or False.
Date data type: including year, month, day, (not the time)
Date-time data type: including year, month, day, hour, minute, second, …
Python字符串重复(字符串乘法)
字符串和数字连接在一起print时,要强制类型转换int为str
用input()得到的用户输入,是str类型,如果要以int形式计算的话,需要强制类型转换为int
我们可以只使用一个变量user_input来节省内存
convert string type to date type
strptime
convert date to string
strftime
Multi-line code statement 换行符
在括号内,行的延续的自动的
Line continuation is automatic when the split comes while a
statement is inside parenthesis ( , brackets [ or braces {
Escape sequence 转义字符
String format
格式 | 意义 |
---|---|
<15 | left alignment, using 15 spaces |
^25 | center alignment, using 25 spaces |
>15 | right alignment, using 15 spaces |
string format 中限制输入占位大小的同时小数点后位数
还可以通过这种方式实现四舍五入取整
.0f
Arithmetic operators
Floor division = 地板除 = 向下取整除
floor division地板除是什么意思
向下取整除,就是地板除 floor division
向上取整除,就是天花板除,ceil division
来自 https://zhuanlan.zhihu.com/p/221901326
Fundamentals of the Analysis of Algorithm Efficiency
Algorithm analysis framework 算法分析框架
Analysis of algorithms means to investigate an algorithm’s efficiency with respect to resources: running time and memory space
算法分析是指研究一个算法在资源方面的效率:运行时间和内存空间。
1. Measuring Input Sizes
Efficiency is defined as a function of input size.
F(n)
2. Units for Measuring Running Time
Count the number of times an algorithm’s basic operation is executed
计算一个算法的基本操作被执行的次数
Basic operation: the operation that contributes the most to the total
running time.
例如,基本操作通常是算法最内部循环中最耗时的操作。
3. Order of growth
4. Worst-Case, Best-Case, and Average-Case Efficiency
==Efficiency (# of times the basic operation will be executed) ==
Average case:
Efficiency (#of times the basic operation will be executed) for a typical/random
input of size n. NOT the average of worst and best case. How to find the
average case efficiency?
平均情况。对于大小为n的典型/随机输入的效率(基本操作将被执行的次数),而不是最坏和最好情况的平均值。如何找到平均案例的效率?
Summary
算法的运行时间(空间)随着其输入大小的增加而增长的阶数为无穷大。
对于相同大小的输入,一些算法的效率可能有很大的不同
渐进式符号
no faster
at least as fast as
at same rate
Summary
Some Properties
意义:算法的整体效率将由增长顺序较大的部分决定。
Using Limits for Comparing Orders of Growth
所有的对数函数loga n都属于同一个类别
所有相同度数k的多项式都属于同一类别
指数函数对于不同的a有不同的增长顺序
Analysis of non-recursive algorithms 非递归算法的分析
Analysis of recursive algorithms 递归算法的分析
- 计算递归调用的次数
- 解决递归问题,或通过后向替代或其他方法估计解决方案的数量级
Examples
求n!
重要的递归类型
For-loop
range(0,10) 范围是左闭右开
字符串操作
字符串内容大写/小写
.upper()
.lower()
找字串位置,找不到返回-1
字符串长度
根据下标返回字符串中对应字符
切割字符串
[i:j] 范围左开右闭,从下标为i的字符到下标为j-1的字符,获得的子串长度为j-i
Data Structure
data, relationship , operation
Abstract data type (ADT)
Function 函数
四舍五入保留小数点后多少位函数
min,max函数是python内置的
random函数
左闭右闭