Skip to content

Latest commit

 

History

History
127 lines (86 loc) · 2.5 KB

4.md

File metadata and controls

127 lines (86 loc) · 2.5 KB

运算、分支、循环

我们已经接触了function中的内在逻辑,class中的更新属性值,set中的交集和并集。

解决一个问题不是靠一江春水向东流,是时候引入分支和循环了。

运算、分支、循环是最简单的算法。

运算

算术运算符、赋值运算符、位运算符

这些运算符返回的都是数字。

算术运算符

+ - * / % ** //

赋值运算符

= += -= *= /= %= **= //=
加等 减等 乘等 除等 模等 幂等 整等

c += a为例,表示c = c+a

位运算符

& | ^ ~ << >>
按位与 按位或 按位异或 按位取反 左移 右移

以二进制进行运算,有更高的效率。

比较(关系)运算符、逻辑运算符、成员运算符、身份运算符

这些运算符返回的都是布尔值。

比较(关系)运算符

== != > < >= <=
等于 不等于 大于 小于 大于等于 小于等于

逻辑运算符

and or not

成员运算符

in not in
在序列中 不在序列中

其中序列可以是字符串、元组、列表、字典。

身份运算符

is is not
同一个对象 不同对象

运算符优先级

请参考别的资料,不知道优先级自己用小括号包起来。

分支 if

分支就是不同的情况、不同的条件,导致不同的结果。

age = 20
if age >= 18:
    print('adult')
else:
    print('child')
# adult

循环 for

循环一般用来遍历列表或者字典。

some_list = ['a','b']
for i in some_list:
    print(i)
# a
# b

其中的i是一个临时的变量名,把列表中的元素依次赋值给它,你也可以取成别的。

通常情况下,我们遇到字典列表的机会比较大。例如:

some_list = [
    {'name':'xiaoming','age':12},
    {'name':'dawang','age':20},
]

打印出每个人的名字和年龄。

for person in some_list:
    print(person['name'],person['age'])
# xiaoming 12
# dawang 20

同时使用

for i in some_list:
    if i['age']>18 :
        print('%s is an adult.' % i['name'])
    else:
        print('%s is a child.' % i['name'])
# xiaoming is a child.
# dawang is an adult.