条件和递归(conditionalsandrecursion)
4.1模运算符(modulusoperator)
模运算符用于整数相除,得到余数。在Python中模运算符是%。语法和其他运算符一样:
7除以3得2余1。
通过模运算符可以查看一个数字是否能被另一个除尽:若x%y为0,则x可被y除尽。同理x%10可以得到x的最右位。
4.2布尔表达式(Booleanexpressions)
布尔表达式(booleanexpression)是指一个表达式真或假(trueorfalse)。下列例子用运算符==比较两个运算对象并得出True或False:
True和False是特殊值,属于bool类型,而非字符串:
==是关系运算符(relationaloperators)之一,其他如:
注意:=是赋值运算符,而==是关系运算符(等于);无=或=。
4.3逻辑运算符(logicaloperators)
逻辑运算符有三个:and,or和not。x0andx0只有在x大于0且小于10时才为true。n%2==0orn%3==0,若两个条件中的任一为true,则整个表达式为true,即数字n需要被2或3除尽。not运算符用于否定一个布尔表达式,not(xy)在xy为false时才为true,即x需要小于或等于y。严格来说,逻辑运算符的运算对象应为布尔表达式,但Python则没有这么严格的要求,任何非零数字会编译为true:
这一灵活性有其用处,但也有细微困扰,尽量避免。
4.4条件执行(conditionalexecution)
条件语句(conditionalstatements)可以帮助检查条件并相应修改程序动作,如if语句:
if之后的布尔表达式称之为条件(condition),若为true,则后面缩进的语句(如上print)会执行,否则不会有任何动作。if语句和函数定义有相同结构:header后有一个缩进的body。此类语句称之为复合语句(