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 或 ...
随机推荐
- [ES]Elasticsearch在windows下的安装
1.环境 win7 64位 2.下载包环境 https://www.elastic.co/cn/downloads/elasticsearch 选择对应安装包 3.安装过程 解压安装包,例如我的,解压 ...
- jmeter "you cannot switch bacause data cannot be converted to target Tab data,empty data to switch"报错
jmeter "you cannot switch bacause data cannot be converted to target Tab data,empty data to swi ...
- 第八模块:算法&设计模式、企业应用 第2章 企业应用工具学习
第八模块:算法&设计模式.企业应用 第2章 企业应用工具学习
- unity初探之黑暗之光(2)
unity初探之黑暗之光(2) 一.设置角色跟随鼠标点击移动 思路:使用charactercollider的SimpleMove方法来控制角色的移动.通过摄像机的射线投射到地面,通过屏幕上的一个点也就 ...
- python中为什么 if/while/def/class语句需要冒号?
python中冒号主要用于增强可读性(ABC语言实验的结果之一).考虑一下这个: if a == b print(a) 与 if a == b: print(a) 注意第二种方法稍微容易一些.请进一步 ...
- 1. 两数之和【Leetcode中国,by java】
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, 11, 15], target ...
- 四、oracle 用户管理二
一.使用profile管理用户口令概述:profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile.当建立用户没有指定profile选项时 ...
- Bcp 使用心得【转】
在做这方面研究的时候,的确遇到了不少麻烦. 首先在做bcp的时候,要开通大数据量访问权限 一.基于sql语句的导入导出 如果是基于SQL语句的导入导出,需要使用存储过程“master..xp_cmds ...
- 深入理解Java 8 Lambda(类库篇——Streams API,Collectors和并行)
转载:http://zh.lucida.me/blog/java-8-lambdas-inside-out-library-features/ 关于 深入理解 Java 8 Lambda(语言篇——l ...
- CentOS6 安装VNCserver
1.下载vncserver yum install tigervnc tigervnc-server -y 2.配置 vncserver vi /etc/sysconfig/vncserver 在文件 ...