一、if语句
1、if后表达式返回值为true则执行其子代码块,然后此if 语句到此终结,否则进入下一分支判断,直到满足其中一个分支,执行后终结if2、expression可以引入运算符:not,and,or,is,is not3、多重expression为加强可读性最好用括号包含4、if与else缩进级别一致,表示是一对5、elif与else都是可选的6、一个if判断最多只有一个else但是可以有多个elif7、else表示if判断的终结8、expession可以是返回值为布尔值的表达式(例如:x>1,x is not None)的形式,也可以是单个标准对象(例如:x=1;if x :print('ok'))9、所有标准对象均可以用于布尔测试,同类型的对象之间可以比较大小。每个对象天生具有布尔True或False值。空对象、值为零的任何数字或者Null对象None的布尔值都是False。
案列:
#!/usr/bin/env python#_*_coding:utf-8_*_'''提示输入用户名和密码验证用户名和密码如果错误,则输出用户名或密码错误如果成功,则输出 欢迎,XXX!'''import getpassname=input('用户名: ')passwd=getpass.getpass('密码: ')if name == 'alex' and passwd == '123':print('土豪里边请')else:print('土鳖请走开')用户登陆验证
二、while语句
while循环的本质就是让计算机在满足某一条件的前提下重复做同一件事情(既while循环为条件循环,包含:1、条件计数循环,2、条件无限循环)这一条件是指:条件表达式同一件事是指:while循环体包含的代码块重复的事情例如:从1加到1000.求1-1000内所有奇数,服务等待链接等计数循环count=0while (count < 9): print('the loop is %s' %count) count+=1无限循环count=0while True: print('the loop is %s' %count) count+=1条件为真就重复执行代码,直到条件不在为真,而if是条件为真,只执行一次代码就结束了while有计数循环和无限循环两种,无限循环可以用于某一服务的主程序一直处于等待被连接状态break代表跳出本层循环,continue代表跳出本次循环while循环在没有被break打断的情况下结束,会执行else后代码案列:import getpassaccount_dict={ 'alex':'123','eric':'456','rain':'789'}count = 0while count < 3:name=input('用户名: ').strip()passwd=getpass.getpass('密码: ')if name in account_dict:real_pass=account_dict.get(name)if passwd == real_pass:print('登陆成功')breakelse:print('密码输入错误')count+=1continueelse:print('用户不存在')count+=1continueelse:print('尝试次数达到3次,请稍后重试')用户登陆验证
三、for语句
for循环提供了python中最强大的循环结构(for循环是一种迭代循环机制,而while循环是条件循环,迭代部分重复相同的逻辑操作,每次操作都是基于上一次的结果而进行的)迭代对象:就是一个具有next()方法的对象,obj.next()每执行一次,返回一行内容所有内容迭代完后,迭代器引发一 个 StopIteration 异常告诉程序循环结束. for 语句在内部调用 next() 并捕获异常.for循环遍历迭代器或可迭代对象与遍历序列的方法并无二致,只是在内部做了调用迭代器next(),并捕获异常,终止循环的操作很多时候你根本无法区分for循环的是序列对象还是迭代器 for语法小结:for循环为迭代循环可遍历序列成员(字符串,列表,元祖)可遍历任何可迭代对象(字典,文件等)可以用在列表解析和生成器表达式中break,continue,else在for中用法与while一致
案例:
albums = ('Poe', 'Gaudi', 'Freud', 'Poe2')years = (1976, 1987, 1990, 2003)#sorted:排序for album in sorted(albums):print(album)#reversed:翻转for album in reversed(albums):print(album)#enumerate:返回项和for i in enumerate(albums):print(i)#zip:组合for i in zip(albums,years):print(i)