第四章(决策和循环)知识点归纳
if condition:
indented_statements
[ elif condition:
Indented_statements]
[else:
Indented_statements]
在这个语法说明中,方括号表示可选项。If控制结构只能包含一个if子句,同时可包含0个或更多的elif子句(每个elif子句都有自己的条件),但最多包含一个else子句。
if后面的条件的结果必须为True或False。通常,条件是一个比较运算符( ==、>、<、>=、<=、!=)的比较,也可以使用(Boolean)布尔运算符(not、and、or)组合的多个比较。
然而,也可将任何合法的表达式用作条件,而Python会尽可能将其转换为布尔值(True/False)。对于数字值,Python将0转换为False,而将其他值转换为True。加外,特殊值None会被转换为False,而大多数非数字值都将转换为True。
求余运算符 ( % )也称求模运算符
布尔运算符的优先级要低于比较运算符。
艾伦·麦席森·图灵(Alan Mathison Turing),一位伟大的计算机科学家,在20世纪40年代破解了德国的著名密码系统Enigma,帮助盟军取得了二战的胜利。
对于计算机是否具有意识,艾伦·麦席森·图灵认为:将计算机放在幕帘后,并让人类询问者通过控制台和键盘与它交流,询问者可向计算机提问,指定的时间到达后,如果询问者无法判断与之交流的是人还是计算机,就证明计算机具有意识。
在A-B之间,[A,B],n > A -1 and n < B + 1; not (n < A or n > B)
while condition:
Indented_statements
编写复杂程序时,伪代码和流程图很有用。
阶乘,对于任何正整数N,Factorial(N) = 1 * 2 * 3 … * N
Product,乘积
如果一些代码,在任何情况下都会执行,但在任何情况下都是多余的,需要优化。
三角数 triangular numbers, 对于任意正整数N ,1 + 2 + 3 … + N = N * (N + 1) / 2
斐波那契数列 Fibo_seq,除质数外最著名的数列
生成规则:
(1) 这个数列的第一个数为1
(2) 第二个数也为1
(3) 其他每个数都是它前面的两个数之和
总之,只需将当前数列中最后的两个数相加,就可得到下一个数。
a = b = 1
while a < 200:
a, b = a + b, a
print(a)
break语句,结束当前循环。
随机数 import random
random.randint(1, 50),随机生成1-50之间的一个整数(包括边界)
为了表示需要执行的步骤数如何随数据集规模的增大而增大,计算机科学家和程序员使用大O表示法。
二分查找 O(log n),随着n越大,步骤数(对数增长)的增大速度将越来越慢,效率将越来越高。有助于解释计算机、通信系统、数据库为何如此有用。