pythonfor循环嵌套if语句
Python基础教程之if判断,while循环,循环嵌套if判断
判断的定义
如果条件满足,就做一件事;条件不满足,就做另一件事;
判断语句又被称为分支语句,有判断,才有分支;
if判断语句基本语法
if语句格式:
if 判断的条件:
条件成立后做的事
...
...
代码缩进为一个tab键,或者四个空格,官方建议使用空格;但应注意,在python开发中,tab和空格不能混用!
判断年龄示例:
|
# 判断是否成年,成年则可以进网吧 age = 19 if age> = 18 : print ( "你满了18岁,可以进网吧" ) |
if及其缩进代码可以看成一个完整的代码块
比较运算符简介
运算符 | 描述 |
---|---|
== | 比较两个操作数的值是否相等,相等则返回true,否则返回false |
!= | 比较两个操作数的值是否不相等,不相等则返回true |
>= | 检查左操作数的值是否大于等于右操作数的值,成立则返回true |
<= | 检查右操作数的值是否大于等于左操作数的值,成立则返回true |
< | 检查右操作数的值是否大于左操作数的值,成立则返回true |
> | 检查左操作数的值是否大于右操作数的值,成立则返回true |
注意,在python2.x中,<>和!=作用和效果一样;但在python3中,已经取消了<>这个比较符号。
else语句
if只能够用来 当条件满足时做某事,而else则用来当条件不满足时做另外的事。
|
else 语法格式: if 判断的条件: 条件成立后应该做的事 else : 条件不成立时应该做的事 |
判断年龄改进版
|
age = 18 if age> = 18 : print ( "已成年,可以进网吧" ) print ( "欢迎来到xxx网吧" ) else : print ( "未成年,请以后再来" ) print ( "慢走" ) # 无论条件是否满足,都会执行 |
控制台输入年龄示例
|
age = int ( input ( "请输入你的年龄:" )) if age> = 18 : print ( "已成年,可以进网吧" ) print ( "欢迎来到xxx网吧" ) else : print ( "未成年,请以后再来" ) print ( "慢走" ) |
应注意的是,控制台输入的被python解释器认为是字符串,字符串不能与数字比较,应该现将从控制台输入的年龄转换成数字;
if,else及其各自的缩进代码可以看成一个完整的代码块;
虽然他们并不能折叠成一个代码块,但其实就是,之所以各自折叠的原因是因为它们各自是局部代码;
逻辑运算符
逻辑运算符简介
逻辑运算符的使用:当需要同时判断多个条件是否成立以执行后续的代码时
与或非,与或是用来连接条件的,非不连接条件,是用来对条件取反的;
and 与
条件1 and 条件2
必须两个条件同时满足,才是真,返回true;
只要有一个条件不满足,就是假,返回false。
or 或
条件1 or 条件2
两个条件只要有一个满足,就是真,返回true;
只有两个条件都不满足,才是假,返回false。
not 非
not 条件
非不连接条件,用来对条件取反;
not使用场景:当希望 条件不满足时执行某件事情,可以用not;
另外,如果是拼接复杂的逻辑计算时,也可能用到not。
逻辑运算符使用示例
示例1:
|
# 逻辑判断年龄是否正确 age = 40 if age> = 0 and age< = 120 : print ( "年龄正确" ) else : print ( "年龄错误" ) |
示例2:
|
# not判断公司员工 is_employee = false if not is_employee: print ( "非本公司员工,禁止入内" ) |
elif语句
elif应用场景:希望判断多个条件,并且多个条件对应不同的处理方式时;
elif中 同时判断多个条件,所有的条件是平级的。
elif的语法:
if 条件1:
条件1满足时,就执行这里面的代码
elif 条件2:
条件2满足时,就执行这里面的代码
elif 条件3:
条件3满足时,就执行这里面的代码
else:
如果上述条件都不满足,就执行这里的代码
elif应用示例
|
# 判断是否为女友的节日并作出相应动作 day = "birthday" if day = = "birthday" : print ( "buy cake" ) elif day = "valentine's day" : print ( "buy rose" ) elif day = "christmas eve" : print ( "eat apple" ) else : print ( "everyday is her holiday!" ) |
if嵌套
if嵌套的应用场景:用来判断多个有前后依赖的场景,在前一个条件满足的情况下,再额外增加条件判断时使用;
if嵌套的语法:
if 条件1:
if 条件1.1:
条件1.1满足时,就执行这里面的代码
elif 条件1.2:
条件1.2满足时,就执行这里面的代码
else:
如果上述条件都不满足,就执行这里的代码
elif 条件2:
条件2满足时,就执行这里面的代码
elif 条件3:
条件3满足时,就执行这里面的代码
else:
如果上述条件都不满足,就执行这里的代码
火车站检票安检代码
|
# 有火车票后进入安检环节,没有票就不允许进,安检环节如果满足条件就进入,不满足就进行提醒 has_ticket = true knife_length = 30 if has_ticket: print ( "检票完成,进入安检环节" ) if knife_length > 20 : print ( "你携带的道具有 %d厘米,不符合规定,不允许上车!" % knife_length) else : print ( "安检成功,祝你旅途愉快" ) else : print ( "没有票,不允许进入,请先购票" ) |
所学综合应用
|
# 开发一个剪刀石头布的人机对战游戏 import random player = int ( input ("请选择你的出拳,只需输入数字: 1. 石头 2. 剪刀 3. 布)) computer = random.randint( 1 , 3 ) print ( "玩家选择的是%d,电脑选择的是%d" % (player, computer)) if ((palyer = = 1 and computer = = 2 ) or (palyer = = 2 and computer = = 3 ) or (palyer = = 3 and computer = = 1 )): print ( "恭喜你,你赢了" ) elif player = = computer: print ( "平局,这么巧" ) else : print ( "不好意思,你输了" ) |
一行过长代码的换行
原来:
|
if (palyer = = 1 and computer = = 2 ) or (palyer = = 2 and computer = = 3 ) or (palyer = = 3 and computer = = 1 ): print ( "你赢了" ) |
换行:
|
if ((palyer = = 1 and computer = = 2 ) or (palyer = = 2 and computer = = 3 ) or (palyer = = 3 and computer = = 1 )): print ( "你赢了" ) |
while循环的基本使用
程序的三大流程
程序只有三个流程,顺序,分支,循环
从上到下,顺序;
条件判断,分支;
特定代码重复执行,循环;
while语句基本语法
初始条件(例如 i=1)
while 条件:(例如 i<=5)
满足条件时做的事(xxx)
处理条件(例如 i=i+1)
循环结束后做的事(xxx)
第一个while循环示例
|
i = 1 while i< = 5 : print ( "hello python" ) i = i + 1 print ( "循环结束" ) |
注意,循环结束后,之前定义的计数器条件的数值依旧是存在的;
死循环:没有对计数器进行处理,导致程序一直在循环部分执行,无法跳出;
python中的赋值运算符
|
i + = 1 - - - > i = i + 1 - = i / = 2 - - - > i = i / 2 * = / / = % = * * = |
注意,赋值运算符之间不能有空格;
程序计数从0开始
自然计数法,从1开始,符合人的习惯
程序计数法,从0开始,几乎所有的语言都是如此
循环计算示例
循环计算思路分析
先在外面定义一个变量用来保存计算结果;
每循环一次就更新一下变量的计算结果。
示例1:
|
# 0到100数字累加 i = 0 sun = 0 while i < = 100 : sum + = i i + = 1 print ( "循环结束,0到100的求和结果是%d" % sum ) |
示例2:
|
# 偶数求和之计算结果 i = 0 sum = 0 while i < = 100 : if i % 2 = = 0 : sum + = i i + = 1 print ( "循环结束,0到100的求和结果是%d" % sum ) |
break和continue
break和continue的使用场景
break和continue是专门在循环中使用的关键字
break 某一条件满足时,退出循环,不再执行后续重复的代码
continue 某一条件满足时,不执行后续的重复代码
break和continue只对当前所在循环有效
break打断整个循环
continue打断一次小循环
break代码演练
|
i = 0 while i< 10 : if i = = 3 : break print (i) i + = 1 |
continue代码演示
|
i = 0 while i< 10 : if i = = 3 : # 在循环中,使用continue之前,需确认循环的计数是否需要修改,否则很容易造成死循环。 i + = 1 continue print (i) i + = 1 |
循环嵌套
循环嵌套语法
while 条件1:
条件满足时,做的事...
while 条件2:
条件满足时,做的事...
处理条件2
处理条件1
print函数end参数的作用
默认情况下,print函数会在结尾自动增加换行;而用end参数的话,可以用end指定的内容替换换行,比如空格,就是调整print函数不换行;再比如end="---",就是在添加end的print输出语句和下一个输出语句之间不换行且添加---
|
print ( "1" ) print ( "2" ) print ( "1" , end = "") print ( "2" ) print ( "1" , end = "---" ) print ( "2" ) |
循环嵌套使用案例
案例1.打印五行小星星
|
row = 1 while row < = 5 : # 每一行要打印的小星星数量和当前行数是一样的 # 增加一个小循环,专门负责当前行中,每一列的小星星输出 col = 1 while col < = row: print ( "*" , end = "") col + = 1 print ("") row + = 1 |
重点看其中的思路!
案例2.九九乘法表案例
|
row = 1 while row < = 9 : col = 1 while col < = row: # print("*", end="") # print("9 * 9 = 81", end=" ") # print("9 * %d = 81" % row, end=" ") # print("%d * %d = %d" % (col, row, col*row), end=" ") print ( "%d * %d = %d" % (col, row, col * row), end = "\t" ) # 加\t的原因是,为了对齐美观 col + = 1 print ("") row + = 1 |
字符串中的转义字符
转义字符 | 描述 |
---|---|
\ | 反斜杠符号 |
' | 单引号 |
" | 双引号 |
\n | 换行 |
\t | 横向制表符 |
\r | 回车 |
t在控制台输出一个制表符,协助在输出文本时垂直方向保持对齐;
制表符的作用是在不适用表格的情况下在垂直方向按列对齐文本;
\n在控制台输出一个换行符。