python中的条件判断语句if while
判断(if)语句
生活中的判断案例:
生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这,如果
那样….
判断的定义:
如果条件满足,才能做某件事
如果条件不满足,就做另外一件事情,或者什么也不做
正是有了判断,才使得程序世界丰富多彩,充满变化(程序不再从上到下的‘呆
板’执行了)
判断语句又被称为‘分支语句’,正是因为有了判断,才让程序有了很多的分支
if 判断语句的基本语法
if 要判断的条件:
条件成立时,要做的事情
注意:代码的缩进为一个 tab 键,或者四个空格(pycharm 自动帮我们增加)
在 python 开发中,Tab 和空格不要混用
判断语句演练:
需求:
1.定义一个整数变量
2.判断是否满 18 岁(>=)
=:比较运算符
比较关系运算符:==,!=,>,<,<=,>=
3.如果满 18 岁,允许进入网吧
else:
思考:
在使用 if 判度时,只能做到满足条件时要做的事情,那如果需要在不满足条件的时
候,该做某些事情,我们该如何做呢
else,格式如****意 else 必须配合 if 使用,而其 else 后不跟条件
if 要判断的条件:
条件成立时,要做的事情
……
else:条件不成立时,要做的事情
……
if 和 else 语句以及各自的缩进部分是一个完整的代码块
示例:
需求
1.输入用户年龄
2.判断是否满 18 岁(>=)
3.如果满 18 岁,允许进入网吧
4.如果未满 18 岁,提示回家写作业
age = 5
满18可上网
if age >= 18:
print ‘您已成年,欢迎进入网吧’
不满18岁回家写作业
else:
print ‘回家写作业’
逻辑运算
在程序开发中,通常在判断条件时,会需要同时判断多个条件
只有多个条件都满足,才能够执行后续代码,这个时候需要使用到逻辑运算符
逻辑运算符可以把多个条件按照逻辑进行连接,变成更复杂的条件
python 中的逻辑运算符包括:与 and/或 or/非 not 三种
and
条件 1 and 条件 2
与/并且
两个条件同时满足,返回 True
只需有一个不满足,就返回 False
or
条件 1 or 条件 2
或/或者
两个条件只要有一个满足,返回 True
两个条件都不满足,返回 False
not
对一个条件取反:not 条件
逻辑运算演练
1.练习:定义一个整数变量 age,编写代码判断年龄是否正确要求人的年龄在 0~120 之间
2.练习:定义两个整数变量 python_score,c_score,编写代码判断成绩
年龄在0~80之间
age = 15
if 0 <= age <= 80:
print '年龄符合'
else:
print '年龄不符合'
两门考试中只要有一门大于等于60分即为通过
math = 59
English = 59
if math >= 60 or English >= 60:
print '考试通过'
else:
print '请继续努力'
3.练习:定义一个布尔型变量 is_employee,编写代码判断是否是本公司员工
如果不是提示不允许入内
if 语句进阶
elif
在开发中,使用 if 可以判断条件
使用 else 可以处理条件不成立的情况
但是,如果希望再增加一些条件,条加不同,需要执行的代码也不同,就可以使用
elif
语法格式如下:
if 条件 1:
条件 1 满足执行的代码
elif 条件 2:
条件 2 满足时,执行的代码
else:
以上条件都不满足时,执行的代码
注意:
elif 和 else 都必须和 if 联合使用,而不能单独使用
可以将 if,elif 和 else 以及各自缩进的代码,看成一个完整的代码块
elif 演练—女盆友的节日
需求:
1.定义 holidy_name 字符串变量记录节目名称
2.如果是情人节应该 买玫瑰/看电影
3.如果是平安夜应该 买苹果/吃大餐
4.如果是生日 应该 买蛋糕
5.其他的日子每天都是节日
# 定义holiday_name字符串变量记录节日的名称
holiday_name = '情人节'
if holiday_name == '情人节':
print '买巧克力和玫瑰'
print '看电影'
elif holiday_name == '圣诞节':
print '买礼物'
print '去狂欢'
elif holiday_name == '情人节':
print '萨郎嘿哟'
print 'MAC口红限量版'
else:
print '每一天都要美美哒,要开开心心'
if 的嵌套:
生活中的例子:(火车站的二次安检 首先得先有片进入火车站候车大厅)
elif 的应用场景是:同时判断多个条件,多有的条件都是平级的在开发中,使用 if 进行条件判断,如果希望在条件成立的执行语句中再增加条件判
断,就可以使用 if 的嵌套
if 的嵌套的应用场景就是:在之前的条件满足的前提下,再增加额外的判断
if 的嵌套的语法格式,除了缩进之外和之前的没有区别
语法格式:
if 条件 1:
条件 1 满足执行的代码
….
if 条件 1 基础上的条件 2:
条件 2 满足时,执行的代码
….
条件 2 不满足的处理
else:
条件 2 不满足时,执行的代码
….
条件 1 不满足时候的处理
else:
条件 1 不满足时,执行的代码
….
if 嵌套的演练 火车站安检
需求:
1.定义布尔型变量 has_ticket 表示是否有车票
2.定义整型变量 knife_length 表示刀的长度
3.首先检查是否有车票,如果有,才允许进行安检
4.安检时,需要检查刀的长度,判断是否超过 20cm
如果超过 20cm,提示刀的长度,不允许上车
如果不超过 20cm,安检通过
5.如果没有车票,不允许进门
dsec:
买票带刀(刀长不超过20允许乘车)不允许进入地铁
"""
# 定义已经购票,且带刀长度为30
ticket = True
knife_length = 30
# 1 判断是否购票
# 2 判断带刀长度
if ticket:
print '乘客已购票'
if knife_length > 20:
print '长度超过 %d :超过限定长度,不允许进入' %knife_length
else:
print '长度为%d:未超过限定长度,允许进入' %knife_length
else:
print '请先购票'
综合应用–石头剪刀布
目标:
1.强化多个条件的逻辑运算
2.体会 import 导入模块(工具包)的使用
需求:1.从控制台输入要出的拳 —石头(1)/剪刀(2)/布(3)
2.电脑随即出拳–先假定电脑只会出石头,完成整体代码功能
3.比较胜负
石头 胜 剪刀
剪刀 胜 布
布 胜 石头
import random
# 1 你是玩家player,石头为1 ,剪刀为2,布为3
player = int(raw_input('请输入您要出的拳: '))
# 2 假设电脑只能出布
#computer = 3
# 2 假设电脑出的随机:
computer = random.randint(1,3)
print('玩家出的是%d 电脑出的是%d') %(player,computer)
# 3 判断输赢
if ((player == 1 and computer == 2) or
(player == 2 and computer == 3)or
(player == 3 and computer == 1)):
print '恭喜你,你赢了!!!'
elif (player == computer):
print '平局!!!'
else:
print '很抱歉,你输了!!!'
while 判断语句:
循环程序的三大流程
1>while 循环的基本使用
2>break 和 continue
3>while 循环嵌套
程序的三大流程
在程序开发中,一共有三种流程方式:
1>顺序:从上向下,顺序执行代码
2>分支:根据条件判断,决定执行代码的分支
3>循环:让特定代码重复执行(解决程序员重复工作)
while 循环的基本使用
循环的作用就是让指定的代码重复的执行
while 循环最常用的应用场景就是让执行的代码按照指定的次数重复执行
while 语句的基本语法
初始条件设置 – 通常是重复执行的 计数器 (eg:i=1)
while 条件(判断 计数器 是否达到目标 目标次数):
条件满足时,做的事情 1
条件满足时,做的事情 2
条件满足时,做的事情 3
条件满足时,做的事情 4
………
处理条件(计数器 +1)
while 语句及缩进部分是一个完整的代码块
dsec:
将' 你是小可爱 '输出执行10次
"""
# 1 定义初始变量,记录循环次数
i = 0
# 开始循环
# 2 用whlie 实现
while i <= 10:
# 在循环内执行
print '你是小可爱'
# 处理循环次数
i += 1
print '循环结束,i = %d' %i
赋值运算符
在 python 中,使用 = 可以给变量赋值
在算术运算时,为了简化代码的编写,python 还提供了一系列的与算术运算符对
应的赋值运算符
注意:赋值运算符中间不能使用空格
+=
eg: a+=b 等效于 a = a + b-=
*=
/=
//=
%=
**=
python 中的计数方法
常见的计数方法有两种,可以分为
自然计数法(从 1 开始) – 更符合人类的习惯
程序计数法(从 0 开始) – 几乎所有的程序语言都选择从 0 开始计数
因此,大家在编写程序时,应该尽量养成习惯:除非需求的特殊要求,否则循环的
计数从 0 开始
循环计算
在程序开发中,通常会遇到利用循环重复计算的需求
遇到这种情况:
1.在 while 上方定义一个变量,用于存放最终的计算结果
2.在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量
需求:
计算 0~100 之间所有数字的累计求和的结果
"""
dsec:
计算0~100之间数字求和
"""
i = 0
result = 0
while i<= 100:
result += i
i += 1
print '0~100之间求和结果为%d' %result
需求进阶:
计算 0~100 之间所有偶数的累计求和
i=1
result = 0
# if i%2 == 0 ,求和结果为偶数求和,否则为奇数求和,此时i += 1
while i <= 100:
result += i
i += 2
print '奇数求和结果为%d' %result
"""
计算0~100偶数求和
"""
i=0
result = 0
while i <= 100:
result += i
i += 2
print '偶数求和结果为%d' %result
break 和 continue
break 和 continue 是专门在循环中使用的关键字
break 某一条满足时,退出循环,不再执行后续重复的代码
不输出3
"""
i = 0
while i <= 10:
if i == 3:
break
print i
i += 1
print 'over'
continue 某一条满足时,不执行后续重复的代码,其他条件统统要执行
"""
i = 0
while i < 10:
i += 1
if i == 3:
continue
print i
break 和 continue 只针对当前所在循环有效
循环嵌套
while 循环嵌套就是:while 里面还有 while
循环嵌套演练1.在控制台连续输出五行*,每一行星号的数量依次递增
2.完成 5 行内容的简单输出
分析每行内部的*应该如何处理
3.九九乘法表
字符串的转义字符
\t:在控制台输出一个制表符,协助在输出文本时垂直方向保持对其
\n:在控制台输出一个换行符
制表符的功能是在不使用表格的情况下在垂直方向按列对齐文本
\t:在控制台输出一个制表符,协助在输出文本时垂直方向保持对其
不加\t 无法对齐
dsec:
/t:制表符
/n:换行符
"""
row = 1
result = 0
while row <= 9:
col = 1
while col <= row:
col += 1
print "%d * %d = %d\t" %(row,col,row*col),
# print '%d' %col
# print '第%d行' %row
print ''
row += 1
上一篇: Python 条件语句(if)
下一篇: Java基础第五节