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 相关文章推荐
python pyheatmap包绘制热力图
Nov 09 Python
python 梯度法求解函数极值的实例
Jul 10 Python
Django工程的分层结构详解
Jul 18 Python
python修改字典键(key)的方法
Aug 05 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
Aug 10 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
Oct 30 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
Feb 20 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
Feb 21 Python
Python类中的装饰器在当前类中的声明与调用详解
Apr 15 Python
使用Nibabel库对nii格式图像的读写操作
Jul 01 Python
详解Python直接赋值,深拷贝和浅拷贝
Jul 09 Python
Python如何急速下载第三方库详解
Nov 02 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-fpm的两种进程管理模式详解
2013/06/03 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
2016/08/12 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
golang 调用 php7详解及实例
2017/01/04 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
PHP PDOStatement::nextRowset讲解
2019/02/01 PHP
input、button的不同type值在ajax提交表单时导致的陷阱
2009/02/24 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
解决vue打包之后静态资源图片失效的问题
2018/02/21 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
详解服务端预渲染之Nuxt(介绍篇)
2019/04/07 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
2019/04/11 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
python文本数据相似度的度量
2018/03/12 Python
Flask实现图片的上传、下载及展示示例代码
2018/08/03 Python
python将一个英文语句以单词为单位逆序排放的方法
2018/12/20 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
详解Python locals()的陷阱
2019/03/26 Python
python内存动态分配过程详解
2019/07/15 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
基于python实现模拟数据结构模型
2020/06/12 Python
Html5新增标签有哪些
2017/04/13 HTML / CSS
学雷锋先进个人事迹
2014/05/26 职场文书
班主任经验交流材料
2014/12/16 职场文书
节水倡议书
2015/01/19 职场文书
名人传读书笔记
2015/06/26 职场文书
学习焦裕禄先进事迹心得体会
2016/01/23 职场文书
关于拾金不昧的感谢信(五篇)
2019/10/18 职场文书
JS Object构造函数之Object.freeze
2021/04/28 Javascript
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python