Python基础教程之if判断,while循环,循环嵌套


Posted in Python onApril 25, 2019

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在控制台输出一个换行符。

print("1 2 3")
print("10 20 30")
# \t在控制台输出一个制表符,协助在输出文本时垂直方向保持对齐,制表符的作用是在不适用表格的情况下在垂直方向按列对齐文本
print("1\t2 \t3")
print("10\t20\t30")
# \n在控制台输出一个换行符
print("hello\nworld")
print("hello\"world")

# 输出
1 2 3
10 20 30
1 2 3
10 20 30
hello
world
hello"world

总结

以上所述是小编给大家介绍的Python基础教程之if判断,while循环,循环嵌套,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
17个Python小技巧分享
Jan 23 Python
Python使用爬虫爬取静态网页图片的方法详解
Jun 05 Python
深入浅析Python的类
Jun 22 Python
python得到电脑的开机时间方法
Oct 15 Python
python并发和异步编程实例
Nov 15 Python
Python+OpenCV感兴趣区域ROI提取方法
Jan 10 Python
将Python文件打包成.EXE可执行文件的方法
Aug 11 Python
python配置文件写入过程详解
Oct 19 Python
Python 安装 virturalenv 虚拟环境的教程详解
Feb 21 Python
Python itertools.product方法代码实例
Mar 27 Python
解决python父线程关闭后子线程不关闭问题
Apr 25 Python
如何基于Django实现上下文章跳转
Sep 16 Python
python3通过selenium爬虫获取到dj商品的实例代码
Apr 25 #Python
NumPy 数组使用大全
Apr 25 #Python
Python+OpenCV采集本地摄像头的视频
Apr 25 #Python
python利用selenium进行浏览器爬虫
Apr 25 #Python
python3人脸识别的两种方法
Apr 25 #Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
Apr 25 #Python
Python 给屏幕打印信息加上颜色的实现方法
Apr 24 #Python
You might like
php 提速工具eAccelerator 配置参数详解
2010/05/16 PHP
php xml 入门学习资料
2011/01/01 PHP
php程序内部post数据的方法
2015/03/31 PHP
tp5框架无刷新分页实现方法分析
2019/09/26 PHP
tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析
2020/02/11 PHP
js 点击按钮弹出另一页,选择值后,返回到当前页
2010/05/26 Javascript
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
jQuery中实现动画效果的基本操作介绍
2013/04/16 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
搭建pomelo 开发环境
2014/06/24 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
JS绘制微信小程序画布时钟
2016/12/24 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
Bootstrap表单控件使用方法详解
2017/01/11 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
详解A标签中href=&quot;&quot;的几种用法
2017/08/20 Javascript
Nodejs 复制文件/文件夹的方法
2017/08/24 NodeJs
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
jQuery中each遍历的三种方法实例分析
2018/09/07 jQuery
详解webpack 热更新优化
2018/09/13 Javascript
使用ECharts实现状态区间图
2018/10/25 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
2019/08/20 Javascript
[01:38]DOTA2 2015国际邀请赛中国区预选赛 Showopen
2015/06/01 DOTA
python字符串连接的N种方式总结
2014/09/17 Python
Python封装shell命令实例分析
2015/05/05 Python
python学生信息管理系统
2018/03/13 Python
JSON文件及Python对JSON文件的读写操作
2018/10/07 Python
Tensorflow训练模型越来越慢的2种解决方案
2020/02/07 Python
捷克钓鱼用品网上商店:Parys.cz
2018/06/15 全球购物
机械操作工岗位职责
2014/08/08 职场文书
大学辅导员述职报告
2015/01/10 职场文书
介绍信如何写
2015/01/31 职场文书
理想国读书笔记
2015/06/25 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书