前言:在程序开发中,一共有三种流程方式:
顺序:从上向下,顺序执行代码
分支:根据条件判断,决定执行代码的分支
循环:让特定代码重复执行(解决程序员重复工作)
一、if语句
1.判断的定义:
如果条件满足,才能做某件事
如果条件不满足,就做另外一件事情,或者什么也不做
正是有了判断,才使得程序世界丰富多彩,充满变化(程序不再从上到下的‘呆板’执行了)
判断语句又被称为‘分支语句’,正是因为有了判断,才让程序有了很多的分支
2.if 判断语句的基本语法
if 要判断的条件:
条件成立时,要做的事情
注意:代码的缩进为一个 tab 键,或者四个空格(pycharm 自动帮我们增加)
在 python 开发中,Tab 和空格不要混用
# _*_coding:utf-8 _*_
"""
file:if_01.py
date:2018-07-08-9:09 AM
author:xupt-gw
desc:
"""
# 定义一个整数变量
age = 23
# 判断是否满18岁
if age >= 18:
# 如果满18岁,就允许进入
print 'welcome'
else,格式如下 #注意 else 必须配合 if 使用,而其 else 后不跟条件
if 要判断的条件:
条件成立时,要做的事情
……
else:
条件不成立时,要做的事情
……
if 和 else 语句以及各自的缩进部分是一个完整的代码块
# _*_coding:utf-8 _*_
"""
file:else_01.py
date:2018-07-08-9:29 AM
author:xupt-gw
desc:
"""
age = 19
# 判断是否满足18岁
if age >= 18:
# 如果满18岁,则欢迎进入
print 'welcome~~'
# 如果不满18,则不允许进入
else:
print 'reject!!'
3.逻辑运算
在程序开发中,通常在判断条件时,会需要同时判断多个条件
只有多个条件都满足,才能够执行后续代码,这个时候需要使用到逻辑运算符
逻辑运算符可以把多个条件按照逻辑进行连接,变成更复杂的条件
python 中的逻辑运算符包括:与 and/或 or/非 not 三种 |
【1】and
条件 1 and 条件 2
与/并且
两个条件同时满足,返回 True
只需有一个不满足,就返回 False
【2】or
条件 1 or 条件 2
或/或者
两个条件只要有一个满足,返回 True
两个条件都不满足,返回 False
【3】not
对一个条件取反:not 条件
逻辑运算演练
1.练习:定义一个整数变量 age,编写代码判断年龄是否正确要求人的年龄在 0~120 之间
2.练习:定义两个整数变量math_score ,pe_score,编写代码判断成绩
3.练习:定义一个布尔型变量 is_student,编写代码判断是否是学生
# _*_coding:utf-8 _*_
"""
file:logical_01.py
date:2018-07-08-9:48 AM
author:xupt-gw
desc:
"""
# 1.and
age = 111
if age >= 0 and age <= 100:
print 'age is ok'
else:
print 'age is not ok'
# 2.or
math_score = 78
pe_score = 34
if math_score >= 60 or pe_score >= 60:
print 'Pass!!'
else:
print 'Fail!!'
# 3.not
is_student = False
if not is_student:
print 'ok'
4.if 语句进阶:elif
在开发中,使用 if 可以判断条件
使用 else 可以处理条件不成立的情况
但是,如果希望再增加一些条件,条件不同,需要执行的代码也不同,就可以使用elif
语法格式如下:
if 条件 1:
条件 1 满足执行的代码
elif 条件 2:
条件 2 满足时,执行的代码
else:
以上条件都不满足时,执行的代码
注意:
elif 和 else 都必须和 if 联合使用,而不能单独使用
可以将 if,elif 和 else 以及各自缩进的代码,看成一个完整的代码块
elif实例:
# _*_coding:utf-8 _*_
"""
file:elif.py
date:2018-07-08-10:28 AM
author:xupt-gw
desc:
"""
holiday = raw_input('input a holiday: ')
if holiday == '春节':
print '放鞭炮'
elif holiday == '端午节':
print '吃粽子'
elif holiday == '国庆节':
print '看升旗'
else:
print 'not match !'
5.if 的嵌套:
在开发中,使用 if 进行条件判断,如果希望在条件成立的执行语句中再增加条件判断,就可以使用 if 的嵌套
if 的嵌套的应用场景就是:在之前的条件满足的前提下,再增加额外的判断
if 的嵌套的语法格式,除了缩进之外和之前的没有区别
# _*_coding:utf-8 _*_
"""
file:if嵌套.py
date:2018-07-08-10:42 AM
author:xupt-gw
desc:
"""
has_ticket = True
knife_length = int(raw_input('输入长度: '))
if has_ticket:
print 'pass check ticket!'
if knife_length >= 20:
print '长度为%dcm超过限定,不允许进入' % knife_length
else:
print '长度为%dcm未超过限定,允许进入' % knife_length
else:
print 'please buy ticket first !!'
6.综合应用
综合应用–石头剪刀布
1.从控制台输入要出的拳 —石头(1)/剪刀(2)/布(3)
2.电脑随即出拳–先假定电脑只会出石头,完成整体代码功能
3.比较胜负
石头 胜 剪刀
剪刀 胜 布
布 胜 石头
# _*_coding:utf-8 _*_
"""
file:if综合案例.py
date:2018-07-08-11:17 AM
author:xupt-gw
desc:
"""
# 1:剪刀 2:石头 3:布
# 玩家自己输入
import random
player = int(raw_input('请输入你要出的拳: '))
# 电脑随机出
computer = random.randint(1, 3)
print '玩家出的拳是 %d,电脑出的拳是 %d' % (player, computer)
# 玩家胜利的情况
if ((player == 1 and computer == 3) or
(player == 2 and computer == 1) or
(player == 3 and computer == 2)):
print 'Player Win !!'
elif player == computer:
print 'Both win !!'
else:
print 'Computer Win !!'
二、while语句
1,while 循环的基本使用
循环的作用就是让指定的代码重复的执行
while 循环最常用的应用场景就是让执行的代码按照指定的次数重复执行
while 语句及缩进部分是一个完整的代码块
2.赋值运算符
在 python 中,使用 = 可以给变量赋值
在算术运算时,为了简化代码的编写,python 还提供了一系列的与算术运算符对
应的赋值运算符
注意:赋值运算符中间不能使用空格
+=
eg: a+=b 等效于 a = a + b
-=
*=
/=
//=
%=
‘**=’
3.python 中的计数方法
常见的计数方法有两种,可以分为
自然计数法(从 1 开始) – 更符合人类的习惯
程序计数法(从 0 开始) – 几乎所有的程序语言都选择从 0 开始计数
循环计算
在程序开发中,通常会遇到利用循环重复计算的需求
遇到这种情况:
1.在 while 上方定义一个变量,用于存放最终的计算结果
2.在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量
需求:
计算 0~100 之间所有数字的累计求和的结果
# _*_coding:utf-8 _*_
"""
file:while_02.py
date:2018-07-08-2:02 PM
author:xupt-gw
desc:
"""
i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print sum
需求进阶:
计算 0~100 之间所有偶数的累计求和
# _*_ coding:utf-8 _*_
"""
file:while_03.py
date:2018-07-18-14:49
auth:XUPT-GW
desc:
"""
i = 0
result = 0
while i<= 100:
if i %2 == 0:
result += i
i += 1
print '偶数之和是%d' % result
需求:计算2-3+4-5+6+……+100之和
# _*_coding:utf-8 _*_
"""
file:+2-3+4.py
date:2018-07-08-2:33 PM
author:xupt-gw
desc:
"""
i = 2
b = 0
while i <= 100:
if i % 2 == 0:
b += i
else:
b -= i
i += 1
print b
4.break 和 continue
break 和 continue 是专门在循环中使用的关键字
break 某一条满足时,退出循环,不再执行后续重复的代码
continue 某一条满足时,不执行后续重复的代码,其他条件统统要执行
break 和 continue 只针对当前所在循环有效
【break练习】
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
5.循环嵌套
【1】在控制台连续输出五行*,每一行星号的数量依次递增
# _*_coding:utf-8 _*_
"""
file:***.py
date:2018-07-08-3:13 PM
author:xupt-gw
desc:
*
**
***
****
*****
"""
i = 1
while i <= 5:
j = 1
while j <= i:
print '*',
j += 1
print ' '
i += 1
【2】九九乘法表
# _*_coding:utf-8 _*_
"""
file:9*9乘法表.py
date:2018-07-08-3:25 PM
author:xupt-gw
desc:
"""
i = 1
while i <= 9:
j = 1
while j <= i:
k = i*j
print '%d*%d=%d\t' % (j, i, j*i),
j += 1
print ' '
i += 1
字符串的转义字符
\t:在控制台输出一个制表符,协助在输出文本时垂直方向保持对其
\n:在控制台输出一个换行符制表符的功能是在不使用表格的情况下在垂直方向按列对齐文本
\t:在控制台输出一个制表符,协助在输出文本时垂直方向保持对其
不加\t 无法对齐