一、if条件语句
1.Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
2.Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
3.Python 编程中 if 语句用于控制程序的执行,基本形式为:
if 判断条件:
执行语句……
else:
执行语句……
4.其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
5.if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
6.当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号.
即大于和小于在没有括号的情况下会比与或要优先判断。
判断的定义:
如果条件满足,才能做某件事
如果条件不满足,就做另外一件事情,或者什么也不做
正是有了判断,才使得程序世界丰富多彩,充满变化(程序不再从上到下的‘呆
板’执行了)
判断语句又被称为‘分支语句’,正是因为有了判断,才让程序有了很多的分支
if 判断语句的基本语法:
if 要判断的条件:
条件成立时,要做的事情
#注意:代码的缩进为一个 tab 键,或者四个空格(pycharm 自动帮我们增加)
#在 python 开发中,Tab 和空格不要混用
判断语句演练:
需求:
1.定义一个整数变量
2.判断是否满 18 岁(>=)
3.如果满 18 岁,允许进入网吧
# 1.定义一个整数变量
age = 18
# 2.判断是否满18岁
if age >= 18:
# 3.如果满18岁就允许进入网吧
print '您已经成年,欢迎光临!'
# 1.定义一个整数变量
age = 13
# 2.判断是否满18岁
if age >= 18:
# 3.如果满18岁就允许进入网吧
print '您已经成年,欢迎光临!'
print '欢迎光临!' ##循环外的语句,不管满足条件或者不满足都会输出
else语句:
在使用 if 判度时,只能做到满足条件时要做的事情,那如果需要在不满足条件的时
候,需要用else来满足。
else,格式如下 (注意:else 必须配合 if 使用,而其 else 后不跟条件)
if 要判断的条件:
条件成立时,要做的事情
......
else:条件不成立时,要做的事情
......
#if 和 else 语句以及各自的缩进部分是一个完整的代码块
示例:
需求
1.输入用户年龄
2.判断是否满 18 岁(>=)
3.如果满 18 岁,允许进入网吧
4.如果未满 18 岁,提示不允许进入
age = 15
# 1.判断年龄是否满18岁
if age >= 18:
# 2.如果满18岁,允许进入网吧
print '您已经成年,欢迎光临!'
# 3.如果不满18岁,不允许进入网吧
else:
print '您未成年,不允许进入网吧!'
age = int(raw_input('请输入年龄:'))
print type(age)
# 1.判断年龄是否满18岁
if age >= 18:
# 2.如果满18岁,允许进入网吧
print '您已经成年,欢迎光临!'
# 3.如果不满18岁,不允许进入网吧
else:
print '您未成年,不允许进入网吧!'
逻辑运算
在程序开发中,通常在判断条件时,会需要同时判断多个条件
只有多个条件都满足,才能够执行后续代码,这个时候需要使用到逻辑运算符
逻辑运算符可以把多个条件按照逻辑进行连接,变成更复杂的条件
python 中的逻辑运算符包括:与 and/或 or/非 not 三种
and:
条件 1 and 条件 2
与/并且
两个条件同时满足,返回 True
只需有一个不满足,就返回 False
or:
条件 1 or 条件 2
或/或者
两个条件只要有一个满足,返回 True
两个条件都不满足,返回 False
not:
对一个条件取反:not 条件
逻辑运算演练:
1.练习:定义一个整数变量age,编写代码判断年龄是否正确要求人的年龄在 18~35岁 之间
2.练习:定义两个整数变量 python_score,c_score,编写代码判断成绩
3.练习:定义一个布尔型变量 is_employee,编写代码判断是否是本公司员工
如果不是提示不允许入内
# 1.定义一个整数变量,年龄在18~35岁之间
age = int(raw_input('请输入年龄:'))
if age >=18 and age <=35:
print '年龄通过'
else:
print '年龄不通过'
# 2.定义两个整数变量,记录成绩,只要一门成绩大于60分,就算及格
python_score = int(raw_input('请输入python成绩:'))
c_score = int(raw_input('请输入c语言成绩:'))
if python_score >= 60 or c_score >= 60:
print '恭喜你,考试通过'
else:
print '考试失败,请继续努力'
# 3.定义一个布尔型变量,判断是否是本公司员工
is_employee = False
if not is_employee:
print '非本公司员工,不允许入内'
if 语句进阶:
elif
在开发中,使用 if 可以判断条件
使用 else 可以处理条件不成立的情况
但是,如果希望再增加一些条件,条加不同,需要执行的代码也不同,就可以使用
elif
语法格式如下:
if 条件 1:
条件 1 满足执行的代码
elif 条件 2:
条件 2 满足时,执行的代码
else:
以上条件都不满足时,执行的代码
注意:
elif 和 else 都必须和 if 联合使用,而不能单独使用
可以将 if,elif 和 else 以及各自缩进的代码,看成一个完整的代码块
# 定义holiday_name字符串变量记录节日的名称
holiday_name = str(raw_input('请输入节日:'))
if holiday_name == '劳动节':
print '去西安某地踏青'
elif holiday_name == '端午节':
print '吃粽子'
print '去重庆旅游'
elif holiday_name == '国庆节':
print '去湖南旅游'
elif holiday_name == '春节':
print '去云南旅游'
else:
print '每天上班赚钱!'
if 的嵌套:
elif 的应用场景是:同时判断多个条件,多有的条件都是平级的在开发中,
使用 if 进行条件判断,如果希望在条件成立的执行语句中再增加条件判
断,就可以使用 if 的嵌套
if 的嵌套的应用场景就是:在之前的条件满足的前提下,再增加额外的判断
if 的嵌套的语法格式,除了缩进之外和之前的没有区别
语法格式:
if 条件 1:
条件 1 满足执行的代码
....
if 条件 1 基础上的条件 2:
条件 2 满足时,执行的代码
....
#条件 2 不满足的处理
else:
条件 2 不满足时,执行的代码
....
# 条件 1 不满足时候的处理
else:
条件 1 不满足时,执行的代码
....
需求:
1.定义布尔型变量 has_ticket 表示是否有机票
2.定义整型变量 liquid_mL表示液体的容量
3.首先检查是否有机票,如果有,才允许进行安检
4.安检时,需要检查液体的容量,判断是否超过 100ml
如果超过 100ml,提示液体超过规定标准,不允许登机
如果不超过100ml,安检通过
5.如果没有机票,不允许进入候机厅
# 1.定义布尔值变量has_ticket表示是否有机票
has_ticket = True
# 2.定义液体的毫升
liquid_mL = 30
# 3.是否有机票,如果有,允许进入侯机厅
if has_ticket:
print '机票检测通过,请进入候机厅'
# 4.判断液体的毫升
if liquid_mL > 100:
print '液体超过100mL规定的标准毫升'
else:
print '液体未超过100mL规定的标准毫升'
else:
print '请先买票'
综合应用–石头剪刀布
目标:
1.强化多个条件的逻辑运算
2.体会 import 导入模块(工具包)的使用
需求:
1.从控制台输入要出的拳 —石头(1)/剪刀(2)/布(3)
2.电脑随即出拳–先假定电脑只会出石头,完成整体代码功能
3.比较胜负
import random
# 1.从控制台输入要出的拳头:石头(1),剪刀(2),布(3)
player = int(raw_input('请输入您要出的拳:'))
# 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 '电脑胜利'
摇筛子:
import random
# 1.玩家摇的点数
player = random.randint(1,6)
# 2.电脑摇的点数
computer = random.randint(1,6)
print '玩家选择的是%d 电脑选择的是%d' % (player,computer)
# 3.比较胜负
if ((player == 6 and computer <=5 )or
(player == 5 and computer <=4 )or
(player == 4 and computer <=3 )or
(player == 3 and computer <=2 )or
(player == 2 and computer ==1 )):
print '玩家胜利'
elif player == computer:
print '平局'
else:
print '电脑胜利'
二、While循环语句
目标:
程序的三大流程
while 循环的基本使用
break 和 continue
while 循环嵌套
程序的三大流程
在程序开发中,一共有三种流程方式:
顺序:从上向下,顺序执行代码
分支:根据条件判断,决定执行代码的分支
循环:让特定代码重复执行(解决程序员重复工作)
while 循环的基本使用
循环的作用就是让指定的代码重复的执行
while 循环最常用的应用场景就是让执行的代码按照指定的次数重复执行
while 语句的基本语法
初始条件设置 -- 通常是重复执行的 计数器 (eg:i=1)
while 条件(判断 计数器 是否达到目标 目标次数):
条件满足时,做的事情 1
条件满足时,做的事情 2
条件满足时,做的事情 3
条件满足时,做的事情 4
.........
处理条件(计数器 +1)
while 语句及缩进部分是一个完整的代码块
赋值运算符:
在 python 中,使用 = 可以给变量赋值
在算术运算时,为了简化代码的编写,python 还提供了一系列的与算术运算符对
应的赋值运算符
注意:赋值运算符中间不能使用空格
+=
eg: a+=b 等效于 a = a + b-=
*=
/=
//=
%=
**=
--------------------------------------------------------------------
python 中的计数方法
常见的计数方法有两种,可以分为
自然计数法(从 1 开始) -- 更符合人类的习惯
程序计数法(从 0 开始) -- 几乎所有的程序语言都选择从 0 开始计数
因此,大家在编写程序时,应该尽量养成习惯:除非需求的特殊要求,否则循环的
计数从 0 开始
循环计算:
在程序开发中,通常会遇到利用循环重复计算的需求
遇到这种情况:
1.在 while 上方定义一个变量,用于存放最终的计算结果
2.在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量
需求:
计算 0~100 之间所有数字的累计求和的结果
i = 0
result = 0
while i <= 100:
print i
result += i
i += 1
print '0~100之间数字求和的结果是: %d' % result
需求进阶:
计算 0~100 之间所有偶数的累计求和
i = 0
result = 0
while i <= 100:
if i % 2 == 0:
print i
result += i
i += 2
print '0~100之间偶数求和的结果是: %d' % result
计算 0~100 之间所有奇数的累计求和
i = 0
result = 0
while i <= 100:
if i % 2 != 0:
print i
result += i
i += 1
print '0~100之间奇数求和的结果是: %d' % result
计算 0~100 之间所有偶加奇减:
i = 2
b = 0
while i <= 100:
if i % 2 == 0:
b = b + i
else:
b = b - i
i += 1
print '输出2-3+4-5+..+100的结果:%d' % b
break 和 continue语句:
break 和 continue 是专门在循环中使用的关键字
break 某一条满足时,退出循环,不再执行后续重复的代码
continue 某一条满足时,不执行后续重复的代码,其他条件统统要执行
break 和 continue 只针对当前所在循环有效
break语句
终止循环语句,如果从for或while中终止,任何对应循环的else将不执行。
i = 0
while i < 10:
if i == 3:
# 满足某一条件的时候,
# 退出循环,不再执行后续的重复代码
break
print i
i += 1
print 'over'
continue语句:
continue语句用来调过当前循环的剩余语句,然后继续下一轮循环。
i = 0
while i < 10:
i += 1
if i == 3:
# 满足某一条件的时候,不执行后续重复的代码,
# 其他条件的时候都要执行
continue
print i
循环嵌套:
while 循环嵌套就是:while 里面还有 while
1.在控制台连续输出五行*,每一行星号的数量依次递增
row = 1
while row <= 5:
col = 1
while col <= row:
col += 1
# ,表示输出在一行
print '*',
# 添加换行
print ''
row += 1
2.九九乘法表
row = 1
while row <= 9:
col = 1
while col <= row:
# ,表示输出在一行
print '%d*%d=%d\t' % (col,row,col*row),
col += 1
# 添加换行
print ''
row += 1
字符串的转义字符
\t:在控制台输出一个制表符,协助在输出文本时垂直方向保持对其
\n:在控制台输出一个换行符
# 制表符的功能是在不使用表格的情况下在垂直方向按列对齐文本
# \t:在控制台输出一个制表符,协助在输出文本时垂直方向保持对其
# 不加\t 无法对齐