Python流程控制

  • if测试:

       if 条件测试表达式:

       组合条件测试:

              x and y:与运算

              x or y:或运算

              not x:非运算

 

  • while:

break:跳出最内层的循环

continue:跳到所处的最近层循环的开始处

pass:占位语句

else代码块:循环正常终止才会执行;如果循环终止时由break跳出导致的,则else不会执行。

  • while 练习题

练习1:逐一显示指定列表中的所有元素。

方法一:

方法三:

 

反向显示:

列表反转:

方法一:

方法二:

 

练习二:求100以内所有偶数之和

练习三:逐一显示指定字典的所有键,并于显示结束后说明键总数。

方法一:for实现

方法二:while实现

练习4:创建一个包含了100以内的所有奇数的列表:

方法一:内置函数 range(1,100,2)

方法二:

练习4:创建一个包含了100以内的所有奇数的列表:

方法一:内置函数 range(1,100,2)

方法二:

练习5:逆序逐一显示一个列表的所有元素

上面反转已经实现

练习6:列表l1=[0,1,2,3,4,5,6],列表l2=['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],以l1元素为键,l2为值生成字典d1

方法一:

方法二:

  • for循环:

对于可迭代对象,用for循环遍历

range和xrange区别:range直接在内存中生成对象,xrange用一个生成一个,节约内存,适用于生成大对象

 

 

  • for练习题:

练习1:注意分开显示指定字典d1中的所有元素,类似如下:

k1 v1

k2 v2

...

练习2:逐一显示列表l1=['Sun','Mon','Tue','Wed','Thu','Fri','Sat']中索引为奇数的元素。

练习3:建属于列表l1=['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],但不属于列表l2=['Sun','Mon','Tue','Thu','Sat']的所有元素定义为一个新列表。

方法一:

方法二:

注:此方法中,两个list中的元素不能为字典

 

练习4:已知列表namelist= ['stu1','stu2','stu3','stu4','stu5','stu6','stu7'],删除列表removelist=['stu7','stu8','stu9'],请将属于removelist列表中的每个元素从namlist中移除,反之,忽略即可。

  • 回顾:

动态语言

对象引用相关注意

sys.getrefcount()  获取引用计数

增加对象引用计数的场景:

对象创建时

见对象添加进容器时;类似list.append()

当对象被当做参数传递给函数时

为对象创建另外别名

减少引用计数场景:

引用此对象的某变量名被显式销毁

给引用此对象的变量名重新赋值

从容器中移除对象时,类似list.pop()

容器本身被销毁

if

if boolean_expection:

    ...

elif boolean_expection:

    ...

else:

    ...

while

while boolean_expection:

    while_suite

    if boolean_expection2: continue

    if boolean_expection3: break

else:

    else_suite

for

for expression in object:

    for_suite

    if boolean_expression2: continue

    if boolean_expression3: break

else:

    else_suite

 

posted on 2017-03-26 23:06  浮沉一梦  阅读(524)  评论(0编辑  收藏  举报