一、条件控制语句:
if语句:
判断的定义:
如果条件满足,才能做某件事
如果条件不满足,就做另外一件事情,或者什么也不做
正是有了判断,才使得程序世界丰富多彩,充满变化(程序不再从上到下的‘呆板’执行了)
判断语句又被称为‘分支语句’,正是因为有了判断,才让程序有了很多的分支
if 判断语句的基本语法
if 要判断的条件:
条件成立时,要做的事情
最简单的if循环:
# 1.输入水果的单价
price_str = raw_input('水果的单价为:')
# 2.输入水果的重量
weight_str = raw_input('水果的重量为:')
price = float(price_str) raw_input返回的是字符串类型,需要进行类型转换
weight = float(weight_str)
# 3.计算付款金额
money = price * weight
print money
# 4.如果总金额大于20块钱,输出恭喜你可以抽奖一次
if money > 20:
print '恭喜你可以抽奖一次'
# 5.否则输出欢迎下次光临
else:
print '欢迎下次光临'
if循环01:
# 1.定义一个整数变量
age = 18
# 2.判断是否18岁
if age >= 18:
# 3.如果18岁,欢迎进入网吧
print '欢迎进入网吧'
if循环02:
age = 17
if age >= 18:
print '欢迎进入网吧'
print '欢迎欢迎'
print '~~~~~~~~~'
思考:(if循环具有局限性)
在使用 if 判断时,只能做到满足条件时要做的事情,
那如果需要在不满足条件的时候,该做某些事情,我们该如何做呢
else,格式如下 #注意 else 必须配合 if 使用,而其 else 后不跟条件
if 要判断的条件:
条件成立时,要做的事情
......
else:条件不成立时,要做的事情
......
#if 和 else 语句以及各自的缩进部分是一个完整的代码块
if,else语法格式:
1)if else条件语句,基本格式如下:
if 表达式: 成立输出语句1
语句1
else: 不成立输出语句2
语句2
注意:if 表达式后的冒号不能省略,else后的冒号也不能省略,否则系统报错
if,else循环判断平润年:
year = input(
if (year % 4 == 0 and year % 100 != 0)or year % 400 == 0:
print "%s是润年" %(year)
else:
print "%s是平年" % (year)
if.else循环01:
age = 13
if age >= 18:
print '欢迎进入网吧'
else:
print '请回家写作业'
if.else循环02:(年龄由用户输入)
age = int(raw_input('请输入你的年龄:'))
# 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 条件
逻辑运算01:
number =60
if number > 50 and number < 100:
print "你可以变得更好"
else:
print "好好吃苦"
python_source = 70
c_source = 75
if python_source > 60 or c_source > 60:
print '不要骄傲'
else:
print '好好努力吧'
go_on = True
if not go_on:
print '是时候展现真正的技术了'
else:
print '我准备好了'
逻辑运算02:
python中的逻辑运算符包括:与:and 或:or 非:not
and:
条件1 and 条件2
两个条件同时满足,就返回True
只有一个条件满足,就返回False
or:
条件1 or 条件2
两个条件只有一个满足,就返回True
两个条件都不满足,返回False
not:
对一个条件取反
age = int(raw_input('请输入你的年龄:'))
if age >= 0 and age <= 80:
print '年龄符合要求'
else:
print '年龄不符合要求'
python_score = int(raw_input('请输入python成绩:'))
linux_score = int(raw_input('请输入linux成绩:'))
if python_score > 60 or linux_score > 60:
print '恭喜你,考试通过!'
else :
print '请继续努力!'
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 以及各自缩进的代码,看成一个完整的代码块
if …elif..else语法格式:
if …elif..else语句
if 表达式1: 成立输出语句1
语句1
elif 表达式2: 成立输出语句2
语句2
…
elif 表达式n: 成立输出语句n
语句n
else 表达式n+1: 不成立输出语句n+1
语句n+1
if,elif,else 01:
study_day = '星期日'
if study_day == '星期一':
print '复习前三单元'
elif study_day == '星期二':
print '复习4-6单元'
elif study_day == '星期三':
print '复习7-9单元'
elif study_day == '星期四':
print '复习剩余单元'
else:
print '你可以愉快的玩耍了!'
if,elif,else 02:
holiday_name = str(raw_input('请输入节日名称:'))
if holiday_name == '情人节':
print '买玫瑰'
print '看电影'
elif holiday_name == '平安夜':
print '送口红'
print '吃大餐'
elif holiday_name == '生日':
print '买蛋糕'
print '送口红 全套'
else:
print '每一天都是节日'
色子小游戏:
import random
player = random.randint(1,6) 调用random随机函数随机选择数字
computer = random.randint(1,6) 调用random随机函数随机选择数字
print '玩家输入的是%d:电脑输入的是%d:' % (player,computer)
if (( player == 1 and computer >= 2) or
( player == 2 and computer >= 3) or
( player == 3 and computer >= 4) or
( player == 4 and computer >= 5) or
( player == 5 and computer >= 6)):
print '玩家继续努力,电脑胜利'
elif player == computer:
print '平局'
else:
print '恭喜玩家获得胜利!'
if 的嵌套:
生活中的例子:(火车站的二次安检 首先得先有片进入火车站候车大厅)
elif 的应用场景是:同时判断多个条件,多有的条件都是平级的在开发中,使用 if 进行条件判断,如果希望在条件成立的执行语句中再增加条件判
断,就可以使用 if 的嵌套
if 的嵌套的应用场景就是:在之前的条件满足的前提下,再增加额外的判断
if 的嵌套的语法格式,除了缩进之外和之前的没有区别
语法格式:
if 条件 1:
条件 1 满足执行的代码
....
if 条件 1 基础上的条件 2:
条件 2 满足时,执行的代码
....
#条件 2 不满足的处理
else:
条件 2 不满足时,执行的代码
....
# 条件 1 不满足时候的处理
else:
条件 1 不满足时,执行的代码
....
if嵌套 01:
has_card = True
how_weight = 8
if has_card:
print '检测通过'
if how_weight > 5:
print '重量为%s公斤:超过5公斤,不允许' %how_weight
else:
print '重量为%s公斤:未超过5公斤,允许' %how_weight
else:
print '请出示你的证件'
if嵌套 02:
import random
player = int(raw_input('输入你要出的拳:'))
computer = random.randint(1,3)
print '玩家选择的是 %d 电脑选择的是 %d' % (player,computer)
if ((player == 1 and computer == 2) or
(player == 2 and computer == 3) or
(player == 3 and computer == 1)):
print 'PLAYER WIN'
elif player == computer:
print 'A Dead Heat!!'
else:
print 'COMPUTER WIN!'
二、循环语句
程序的三大流程:
在程序开发中,一共有三种流程方式:
顺序:从上向下,顺序执行代码
分支:根据条件判断,决定执行代码的分支
循环:让特定代码重复执行(解决程序员重复工作)
while 循环的基本使用
循环的作用就是让指定的代码重复的执行
while 循环最常用的应用场景就是让执行的代码按照指定的次数重复执行
while 语句的基本语法:
初始条件设置 -- 通常是重复执行的 计数器 (eg:i=1)
while 条件(判断 计数器 是否达到目标 目标次数):
条件满足时,做的事情 1
条件满足时,做的事情 2
条件满足时,做的事情 3
条件满足时,做的事情 4
.........
处理条件(计数器 +1)
while 语句及缩进部分是一个完整的代码块
赋值运算符
在 python 中,使用 = 可以给变量赋值
在算术运算时,为了简化代码的编写,python 还提供了一系列的与算术运算符对应的赋值运算符
python 中的计数方法
,
--
--
,,,
while循环01:
# 1.定义一个整数变量,记录循环次数
i = 0
# 2.开始循环
while i <= 3:
# 3.希望在循环内执行的代码
print 'what a nice day!!'
# 4.处理循环次数
i +=1
print '循环结束 i = %d' %i
while循环02:
# 定义一个整数变量i,记录循环次数
i = 0
# 开始循环
while i <= 10:
# 希望在循环内执行的编码
print 'hello'
# 处理循环计数
i += 1
print '循环结束 %d' % i
经典小星星:
row = 1 行
while row <= 5:
print '*' * row
row += 1
用while循环计算0~100之间数字的求和:
i = 0
sum_xfl = 0
while i <= 100:
sum_xfl += i
i+=1
print '0-100的求和结果是%d'
100以内偶数和:
i = 0
sum_xfl = 0
while i <= 100:
if i
sum_xfl += i
i += 1
print '100以内的偶数和是%d'
100以内奇数和:
i = 0
sum_xfl = 0
while i <= 100:
if i
sum_xfl += i
i += 1
print '100以内的奇数和是%d'
求1+2-3+4-5…+100的和:
i = 2
sum_xfl = 1
while i <= 100:
if i
sum_xfl -= i
else:
sum_xfl += i
i += 1
print '1+2-3+4-5...+100的和为%d'
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
循环嵌套:
while 循环嵌套就是:while 里面还有 while
小星星升级版:
row = 1 行
while row <= 9:
col = 1 列
while col <= row:
col += 1
print '*', 注意:这里的逗号不可以省略,因为需要将星星和空格连着输出
print ' '
row += 1
九九乘法表:
字符串的转义字符
\t:在控制台输出一个制表符,协助在输出文本时垂直方向保持对其
\n:在控制台输出一个换行符
#制表符的功能是在不使用表格的情况下在垂直方向按列对齐文本
# \t:在控制台输出一个制表符,协助在输出文本时垂直方向保持对其
# 不加\t 无法对齐
row = 1 行
while row <= 9:
col = 0 列
while col < row:
col += 1
print '%d * %d = %d\t' %( col,row,row * col ),
print ' '
row += 1