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自动重试HTTP连接装饰器
Apr 28 Python
以windows service方式运行Python程序的方法
Jun 03 Python
python字符串编码识别模块chardet简单应用
Jun 15 Python
VTK与Python实现机械臂三维模型可视化详解
Dec 13 Python
TensorFlow实现随机训练和批量训练的方法
Apr 28 Python
用Python写脚本,实现完全备份和增量备份的示例
Apr 29 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
Jun 19 Python
解决Python内层for循环如何break出外层的循环的问题
Jun 24 Python
Python编写通讯录通过数据库存储实现模糊查询功能
Jul 18 Python
Python对接六大主流数据库(只需三步)
Jul 31 Python
使用python实现飞机大战游戏
Mar 23 Python
ubuntu安装jupyter并设置远程访问的实现
Mar 31 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
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
PHP实现动态添加XML中数据的方法
2018/03/30 PHP
asp批量修改记录的代码
2008/06/25 Javascript
js 鼠标点击事件及其它捕获
2009/06/04 Javascript
javascript十个最常用的自定义函数(中文版)
2009/09/07 Javascript
解析jquery获取父窗口的元素
2013/06/26 Javascript
JS实现完全语义化的网页选项卡效果代码
2015/09/15 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
2016/10/31 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
layui内置模块layim发送图片添加加载动画的方法
2019/09/23 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python获取文件ssdeep值的方法
2014/10/05 Python
使用Python对Excel进行读写操作
2017/03/30 Python
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
Python2和Python3中urllib库中urlencode的使用注意事项
2018/11/26 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
创建Django项目图文实例详解
2019/06/06 Python
Python实现TCP通信的示例代码
2019/09/09 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
Keras设置以及获取权重的实现
2020/06/19 Python
增大python字体的方法步骤
2020/07/05 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
经典c++面试题五
2014/12/17 面试题
创建精神文明单位实施方案
2014/03/08 职场文书
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python