一、if语句
判断的定义:
如果条件满足,才能做某件事
如果条件不满足,就做另外一件事情,或者什么也不做
正是有了判断,才使得程序世界丰富多彩,充满变化(程序不再从上到下的‘呆板’执行了)
判断语句又被称为‘分支语句’,正是因为有了判断,才让程序有了很多的分支
if 判断语句的基本语法
if 要判断的条件:
条件成立时,要做的事情
#注意:代码的缩进为一个 tab 键,或者四个空格(pycharm 自动帮我们增加)
#在 python 开发中,Tab 和空格不要混用
判断语句演练:
需求:
1.定义一个整数变量
2.判断是否满 18 岁(>=)
3.如果满 18 岁,允许进入网吧
比较关系运算符:==,!=,>,<,<=,>=
#1.定义一个整数变量
age = 18
#2.判断是否满18岁
if age>=18:
#.如果满18岁,就允许进入网吧
print '你已经成年,欢迎进入网吧'
2.if else
在使用 if 判度时,只能做到满足条件时要做的事情,那如果需要在不满足条件的时
候,该做某些事情,我们该如何做呢
else,格式如下 #注意 else 必须配合 if 使用,而其 else 后不跟条件
if 要判断的条件:
条件成立时,要做的事情
else:
条件不成立时,要做的事情
#if 和 else 语句以及各自的缩进部分是一个完整的代码块
示例:
需求
1.输入用户年龄
2.判断是否满 18 岁(>=)
3.如果满 18 岁,允许进入网吧
4.如果未满 18 岁,提示回家写作业
age = int(raw_input('请输入年龄:'))
#1.判断年龄是否18
if age>= 18:
#2.如果满18岁,允许进入网吧
print '你已经成年,欢迎欢迎'
#3.如果不满18岁,请出去
else:
print '你未满18岁,请出去'
3.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 '买蛋糕'
elif holiday_name == '平安夜':
print '买苹果'
print '吃大餐'
else:
print '每一天都是节日'
逻辑运算
在程序开发中,通常在判断条件时,会需要同时判断多个条件
只有多个条件都满足,才能够执行后续代码,这个时候需要使用到逻辑运算符
逻辑运算符可以把多个条件按照逻辑进行连接,变成更复杂的条件
python 中的逻辑运算符包括:与 and/或 or/非 not 三种
1.and
条件 1 and 条件 2
与/并且
两个条件同时满足,返回 True
只需有一个不满足,就返回 False
2.or
条件 1 or 条件 2
或/或者
两个条件只要有一个满足,返回 True
两个条件都不满足,返回 False
3.not
对一个条件取反:not 条件
逻辑运算演练
1.定义一个整数变量 score,编写代码判断成绩是否合格要求人的成绩在 60~120 之间
#1.定义一个整数变量,要求成绩在60到100之间就合格
score = 50
if score >= 60 and score <= 100:
print '成绩合格'
else:
print '成绩不合格'
2.定义两个整数变量 weightA,weightB,编写代码判断综合体重
#2.定义两个整数变量,计算综合体重,只要一个人体重小于60kg,就标准
weightA = 67
weightB = 65
if weightA <= 60 or weightB <60:
print '体重标准'
else:
print '体重不标准
3.定义一个布尔型变量 is_student,编写代码判断是否是本校学生
如果不是提示不允许入内
#3.定义一个布尔型变量,判断此人是否是本校学生
is_student = False
if not is_student:
print '非本校学生,不允许进入'
#注意:if后跟的条件为真
if 的嵌套:
elif 的应用场景是:同时判断多个条件,多有的条件都是平级的在开发中,使用 if 进行条件判断,如果希望在条件成立的执行语句中再增加条件判断,就可以使用 if 的嵌套
if 的嵌套的应用场景就是:在之前的条件满足的前提下,再增加额外的判断
if 的嵌套的语法格式,除了缩进之外和之前的没有区别
语法格式:
if 条件 1:
条件 1 满足执行的代码
if 条件 1 基础上的条件 2:
条件 2 满足时,执行的代码
else:
条件 2 不满足时,执行的代码
else:
条件 1 不满足时,执行的代码
#1.定义布尔型变量has_ticket表示是否有车票
has_ticket = True
#2.定义刀的长度
knife_length = 15
#3.是否有车票,如果有,允许进入
if has_ticket:
print '车票检测通过'
#4.判断刀的长度
if knife_length > 20:
print '长度超过 %d:超过限定长度,不允许进入' % knife_length
else:
print '长度未超过 %d:未超过限定长度,允许进入' % knife_length
else:
print '请先买车票'
if案例
1.与电脑晚掷色子游戏,设置电脑随机从1~6出数,玩家通过键盘输入数字
import random
#1.从控制台输入色子:1,2,3,4,5,6
player = int(raw_input('请输入你的色子数:'))
#2.假设电脑能出1,6的随机数
computer = random.randint(1,6)
print '玩家选择的是 %d 电脑选择的是 %d' %(player,computer)
#3.比较大小
if (player > computer):
print '玩家胜利'
elif player == computer :
print '平局'
else:
print '电脑胜利'
1.从控制台输入要出的拳 ---石头(1)/剪刀(2)/布(3)
2.电脑随即出拳--先假定电脑只会出石头,完成整体代码功能
3.比较胜负
石头 胜 剪刀
剪刀 胜 布
布 胜 石头
#1.从控制台输入你要出的拳: 石头:1 剪子:2 布:3
player = int(raw_input('请输入你的拳数:'))
#2.电脑能够出1,3的随机数
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语句
程序的三大流程
在程序开发中,一共有三种流程方式:
顺序:从上向下,顺序执行代码
分支:根据条件判断,决定执行代码的分支
循环:让特定代码重复执行(解决程序员重复工作)
while 循环的基本使用
循环的作用就是让指定的代码重复的执行
while 循环最常用的应用场景就是让执行的代码按照指定的次数重复执行
while 语句的基本语法
初始条件设置 -- 通常是重复执行的 计数器 (eg:i=1)
while 条件 :
循环语句
while 语句及缩进部分是一个完整的代码块
赋值运算符
在 python 中,使用 = 可以给变量赋值
在算术运算时,为了简化代码的编写,python 还提供了一系列的与算术运算符对
应的赋值运算符
注意:赋值运算符中间不能使用空格
eg: a+=b 等效于 a = a + b-=
=,/=,//=,%=,*=
break 和 continue
break 和 continue 是专门在循环中使用的关键字
break 某一条满足时,退出循环,不再执行后续重复的代码
continue 某一条满足时,不执行后续重复的代码,其他条件统统要执行
break 和 continue 只针对当前所在循环有效
1.完成 5 行内容的简单输出
i=0
while i<=5:
print 'hello world'
i += 1
print '循环结束,循环次数 %d' %i
字符串的转义字符
\t:在控制台输出一个制表符,协助在输出文本时垂直方向保持对其
\n:在控制台输出一个换行符
制表符的功能是在不使用表格的情况下在垂直方向按列对齐文本
\t:在控制台输出一个制表符,协助在输出文本时垂直方向保持对其
不加\t 无法对齐
1.打印九九乘法表
row = 1
while row <= 9:
col = 1
while col <= row:
print '%d*%d=%d\t' % (row,col,row * col),
col += 1
print ''
row += 1