python的if语句、while循环、for循环
if语句
计算机又被称作电脑,意指计算机可以像人脑一样,根据周围环境条件(即expession)的变化做出不同的反应(即执行代码)if语句就是来控制计算机实现这一功能
语法:
1.单分支,单个条件判断
if expression:
expr_true_suite
注释:expression为真执行代码expr_true_sutie
2.单分支,多个条件判断
if not active or over_itme>=10:
print ('Warning:service is over')
3.if与else
if expression:
expr_true_suite
else:
expr_false_suite
4.多分支if+elif+else
if expression1:
expr1_true_suite
elif expression2:
expr2_true_suite
elif expression3:
expr3_true_suite
else:
expr_false_suite
小结:
1.if 后表达式返回值为True则执行其子代码块,然后此if语句到此终结,否则进入下一分支判断,直到满足其中一个分支,执行后终结if
2.expression可以引入运算符:not,and,or,is,is not
3.多重expression为加强可读性最好用括号包含
4.if与else缩进级别一致表示是一对
5.elif与else都是可选的
6.一个if判断最多只有一个else但是可以有多个elif
7.else代表if判断的终结
8.expession可以是返回值为布尔值的表达式(例x>1,x is not None)的形式,也可是单个标准对象(例 x=1;if x:print('ok'))
# a=1
# if a :
# print ('ok')
# b=1
# if b-1:
# print ('ok') #if判断也可使用表达式的方式
9.所有标准对象均可用于布尔测试,同类型的对象之间可以比较大小。每个对象天生具有布 尔 True 或 False 值。空对象、值为零的任何数字或者 Null 对象 None 的布尔值都是 False。
下列对象的布尔值是False

练习
#!/usr/bin/env python
#_*_coding:utf-8_*_ '''
根据用户输入内容打印其权限 lhc --> 超级管理员
hj --> 普通管理员
ys,dh --> 业务主管
其他 --> 普通用户
'''
name = raw_input('请输入用户名:') if name == "lhc":
print("超级管理员")
elif name == "hj":
print("普通管理员")
elif name == "ys" or name == "dh":
print("业务主管")
else:
print("普通用户")
根据输入用户得出相应权限
注意这里面有一个问题就是python2.x的版本input输入字符串会报错,需要使用raw_input。但是python3.x的版本就不用担心这个问,在python3中就没有raw_input。各位要看仔细了
#!/usr/bin/env python
#_*_coding:utf-8_*_ '''
提示输入用户名和密码 验证用户名和密码
如果错误,则输出用户名或密码错误
如果成功,则输出 欢迎,XXX!
''' import getpass name=raw_input('用户名: ')
passwd=getpass.getpass('密码: ') if name == 'lhc' and passwd == '':
print(name,'欢迎')
else:
print('请重新输入')
用户登录验证
这里注意下import getpass模块,正常来说,用户名可见而密码不可见所以如果使用passwd=raw_input的话,那么在执行python脚本时你的密码就是可见得,这样来说不安全,所以使用getpass。passwd=getpass.getpass这样来写。这个例子最好在linux平台测试
三元表达式
语法:
expr_ture_suite if experssion else expr_false_sutie
红色的部分代表着一元,如果红色部分判断为真,则执行蓝色部分,代表第二元。如果红色部分判断为假,那么则执行绿色部分,代表第三元。这就是三元表达式
例子
test=1
print('is True')if test else print('is False')
is True
test=0
print('is True')if test else print('is False')
is False
while循环(条件循环)
语法:
while expression:
suite_to_repeat
注:重复执行suite_to_repeat,直到expression不再为真时
例子
计数循环
count=0
while (count < 9):
print('the loop is %s' %count)
count+=1 无限循环
while True:
print ('-----') tag=True
count=0
while tag:
if count == 100:
tag=False
print('the loop is %s' %count)
count+=1
循环的嵌套嵌套
for i in range(5):
print ('======>第一层for')
for j in range(2):
print ('第二层for') for i in range(5):
print ('======>第一层for')
for j in range(2):
print ('第二层for1')
break #如果这是break的话 则第二层for2永远不会执行,虽然第二层for循环两次。但是只要碰到break直接跳出本层循环
print ('第二层for2') for i in range(5):
print ('======>第一层for')
for j in range(2):
print ('第二层for1')
continue #如果是continue的话,那么第二层for2也永远不会执行,但是continue是跳过本次循环,说明在continue后面的循环都不会再运行,接着运行for j in range(2)。直到循环结束
print ('第二层for2')
标志位
x=True
while x:
a=raw_input('level1')
if a=='q':
break
if a == 'exit':
x = False
while x:
b=raw_input('level2')
if b=='q':
break
if b == 'exit':
x = False
while x:
c=raw_input('level3')
if c=='q':
break
if c=='exit':
x=False
while x:
d=raw_input('level4')
if d=='q':
break
if d=='exit':
x=False
print ('next')
标志位
while循环的break,continue,else连用
for i in range(10):
print (i)
else:
print('Is ok')
#当for循环正常结束后就会运行else的内容。正常结束:该有几次循环(操作)就要输出几次。 for i in range(10):
print (i)
if i ==7:
break
else:
print('Is ok')
#这个例子就是非正常结束,else就不会运行。 for i in range(10):
print (i)
if i ==7:
continue
else:
print('Is ok')
#但是使用continue就是正常结束。总结就是如果for循环中有breakelse就不会执行。 同样的道理。在while循环中也可以使用else,使用方法跟for循环一样
练习
dic={
'lhc':{'password':'','count':0},
'hj':{'password':'','count':0},
'ys':{'password':'','count':0}
}
x=True
while x:
print ('<welcome to python world>')
print ('')
name=raw_input('please input your user:')
if name not in dic:
print ('No user!')
continue
else:
if name in dic and dic[name]['count'] == 3:
print (name,'Your user is locked')
continue
else:
passwd=raw_input('please input your password:')
if passwd ==dic[name]['password']:
print ('welcome to python world %s !' %name )
break
else:
print ('Password is error')
dic[name]['count'] += 1
print ('The user login error count',dic[name]['count'])
用户登录输入密码错误三次锁定
小结:
条件为真就重复执行代码,直到条件不再为真,而if是条件为真,只执行一次代码就结束了
while有计数循环和无限循环两种,无限循环可以用于某一服务的主程序一直处于等待被连接的状态
break代表跳出本层循环,continue代表跳出本次循环
while循环在没有被break打断的情况下结束,会执行else后代码
for循环
字典循环
# dic={'name':'chras_lee','age':18}
# for i in dic.items():
# print i,i[1] #一个变量循环字典 # dic={'name':'chras_lee','age':18}
# for i in enumerate(dic):
# print (i,i[1],dic[i[1]]) #使用enumerate循环字典 # dic={'name':'chras_lee','age':18}
# for k,v in dic.items():
# print (k,v) #两个变量循环字典
#
# dic={'name':'chras_lee','age':18}
# for k in dic.keys():
# print (k,dic[k]) #使用dic.keys取value值
#
# dic={'name':'chras_lee','age':18}
# for v in dic.values():
# print (v) #使用dic.values直接取出value值 # dic={'name':'chras_lee','age':18}
# for k in dic:
# print (k,dic[k]) #常用方法 #直接for循环字典就是遍历字典的key
循环字符串
# mes='hello'
# for i in mes:
# print (i) #for循环字符串 # mes='hello'
# for i in enumerate(mes):
# print i #使用enumerate将字符串以元组的方式遍历 # mes='hello'
# for i in mes[::-1]:
# print (i) #倒着循环
循环列表
# l=['a','b','c']
# for i in l:
# print (i) #循环列表 # l=['a','b','c']
# for i in enumerate(l):
# print (i) #使用enumerate将列表以元组的方式遍历
#
# l = ['a', 'b', 'c']
# for i in l[::-1]:
# print (i) #倒着循环
循环元组
# t=('a','b','c')
# for i in t:
# print (i) #循环元组
#
# t=('a','b','c')
# for i in enumerate(t:
# print (i) #使用enumerate将元组以元组的方式遍历 # t=('a','b','c')
# for i in t[::-1]:
# print (i) #倒着循环
待续。。。
python的if语句、while循环、for循环的更多相关文章
- Python学习【第五篇】循环语句
Python循环语句 接下来将介绍Python的循环语句,程序在一般情况下是按顺序执行的. 编程语言提供了各种控制结构,允许更复杂的执行路径. 循环语句允许我们执行一个语句或语句组多次. Python ...
- python基础教程第5章——条件循环和其他语句
1.语句块是在条件为真(条件语句)时执行或者执行多次(循环语句)的一组语句.在代码前放置空格来缩进语句即可穿件语句块.块中的每行都应该缩进同样的量.在Phyton中冒号(:)用来标识语句块的开始,块中 ...
- Python 2.7 学习笔记 条件与循环语句
本文介绍下python条件和循环语句的语法 一.if条件语句 语法格式如下: if 表达式: .... elif 表达式: .... elif 表达式: .... else: ..... 说明:与其它 ...
- python 语句:条件、循环、break、continue...
1. 条件语句 执行条件:判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围. [Python程序语言指定任何非0和非空(null)值为true,0 或 ...
- 【python学习笔记】5.条件、循环和其他语句
[python学习笔记]5.条件.循环和其他语句 print: 用来打印表达式,不管是字符串还是其他类型,都输出以字符串输出:可以通过逗号分隔输出多个表达式 import: 导入模块 impo ...
- Python初识+条件语句+循环语句
一.写照: 1.第一个程序 hello world print('hello world') 后缀名可以是任意(只是现在)(lx.py lx.ps) 导入模块时不是.py 就会出错 2.解释器路径 # ...
- Python系列:三、流程控制循环语句--技术流ken
Python条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非 ...
- Python 的条件语句和循环语句
一.顺序结构 顺序结构是最简单的一种程序结构,程序按照语句的书写次序自上而下顺序执行. 二.分支控制语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块 ...
- python(3)-- 语句:条件、循环、break、continue...
1. 条件语句 执行条件:判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围. [Python程序语言指定任何非0和非空(null)值为true,0 或 ...
随机推荐
- PHP.48-TP框架商城应用实例-后台23-权限管理-权限验证
权限验证 1.登录控制器 2.通过tp验证码类生成验证码图片 3.在管理员模型增加登录验证规则 4.后台中所有的控制器必须先登录才能访问 思路:在访问任何一个控制器之前都判断一个session即可,= ...
- [bzoj5278][Usaco2018 Open]Out of Sorts
有点厉害,,,不会啊 答案就是所有前i个数有多少不在前i个里的max? 为啥啊求助
- 【Keras案例学习】 CNN做手写字符分类(mnist_cnn )
from __future__ import print_function import numpy as np np.random.seed(1337) from keras.datasets im ...
- CLR via c#读书笔记五:方法
注:书本第8章:方法 实例构造器和类(引用类型) 构造器方法在“方法定义元数据表”中始终叫做.ctor(constructor的简称). 构造引用类型的对象,在调用类型的实例构造器之前,为对象分配的内 ...
- netty之粘包分包的处理
1.netty在进行字节数组传输的时候,会出现粘包和分包的情况.当个数据还好,如果数据量很大.并且不间断的发送给服务器,这个时候就会出现粘包和分包的情况. 2.简单来说:channelBuffer在接 ...
- docker社区的geodata/gdal镜像dockerfile分析
对应从事遥感与地理信息的同仁来说,gdal应该是所有工具中使用频度最高的库了,那么在docker中使用gdal时,面临的第一步就是构建gdal基础镜像,社区中引用最多的就是geodata提供的gdal ...
- 创建并运行第一个Django项目
首先, 添加Django模块: 在CMD命令行输入 python -m django --version 查看Django版本: 创建第一个Django项目: 整个工程的目录结构: mysite目录是 ...
- Skype for Business Server 方案
方案说明: 高可用性的配置屏蔽了单点故障,使得当一个服务器节点失效时,另外的可用的节点能够进行服务的接管.可伸缩性的配置可以保证当即时沟通平台的使用用户增加时,该平台应该具有良好的可伸缩性,能非常方便 ...
- LeetCode 107 ——二叉树的层次遍历 II
1. 题目 2. 解答 与 LeetCode 102 --二叉树的层次遍历 类似,我们只需要将每一层的数据倒序输出即可. 定义一个存放树中数据的向量 data,一个存放树的每一层数据的向量 level ...
- 简单构建基于RDF和SPARQL的KBQA(知识图谱问答系统)
本文主要通过python实例讲解基于RDF和SPARQL的KBQA系统的构建.该项目可在python2和python3上运行通过. 注:KBQA即是我们通常所说的基于知识图谱的问答系统.这里简单构建的 ...