首页 > 后端开发 > 正文

python if和while的区别有哪些

2024-01-24 06:07:08 | 我爱编程网

今天我爱编程网小编整理了python if和while的区别有哪些相关内容,希望能帮助到大家,一起来看下吧。

本文目录一览:

python if和while的区别有哪些

python if和while的区别有哪些

python if和while的区别有哪些?下面给大家具体介绍:

1、用法

while和if本身就用法不同,一个是循环语句,一个是判断语句。

2、运行模式

if 只做判断,判断一次之后,便不会再回来了。

while 的话,循环,直到结果为false,才跳出来。

相关推荐:《Python教程》

3、使用效果

链表的结构,要一直读下去,直到读完整个链表结构,所以需要while。

if的话只读一次,便跳出了 。

扩展资料:

if 和 while当条件不成立时,都跳过代码块执行后面的代码。

不同的是当条件成立时,if执行完代码块后继续执行后面的代码,while执行完代码块后再判断while的条件,成立就再执行代码块里的代码,直到不成立,才执行代码块后面的代码。while的代码块里如果遇到break指令,则跳出while代码块直接执行后面的代码。

python if和while的区别有哪些

python提供了哪三个非常重要的语句来应对python程序在运?

1、If语句详解与实践

之前已经用过很多次If函数了,这边我再做一个简单介绍和一些新内容的补充吧,If函数的

底层逻辑

就是用来判断,如果满足条件则执行下面的语句。

基本的语法逻辑如下,注意记得写冒号及代码前的缩进:

if 条件:

代码1

else:

代码2

1

2

3

4

其中两个注意点,之前也提过了,就是缩进与英文格式的标点符号,有的时候,你忘记缩进或者冒号是中文格式的时候,程序就会报错,不过Pycharm和Spyder都会在那一行提醒你这一行的写法有问题,所以倒也不用太担心。

现在我们再来看看之前写过这个代码,是不是会感觉清晰很多呢。

score = 100

year = 2018

if (score < 0) and (year == 2018):

print('录入数据库')

else:

print('不录入数据库')

1

2

3

4

5

6

我们下面再补充些内容,其实掌握上面的内容已经完全足够了,下面的只是作为一个知识点的补充。比如你考试考了80分,最简单的是:

score = 85

if score >= 60:

print('及格')

else:

print('不及格')

1

2

3

4

5

我相信现在大家看这个代码已经完全没有问题了,输出肯定是‘及格’。那如果我除了想判断是否及格外,还想看它是否优秀(大于80分),则输出‘优秀’,该怎么弄呢。

score = 55

if score >= 80:

print('优秀')

elif (score >= 60) and (score < 80):

print('及格')

else:

print('不及格')

1

2

3

4

5

6

7

这边唯一的一个不同,就是中间加入了一个elif,这个其实就是elseif的缩写,用来提供多个结果使用的,

其实这个我做项目的时候基本没有用过,大家简单了解下即可。

2、For语句详解与实践

For语句之前有提到过一次,它的重要程度可以说仅次于If语句了,它的底层逻辑是循环,其实While的底层逻辑是循环,不过还是For用的更加普遍些。

For语句的常见使用格式为,注意记得写冒号及代码前的缩进:

for i in 区域:

代码

1

2

先举个之前讲列表的时候讲过的例子:

class1 = ['

丁一

', '王二

麻子

', '张三', '李四', '赵五']

for i in class1:

print(i)

1

2

3

用大白话来说就是:

列表class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']

对于class1中的所有元素i:

我们都把它打印输出出来

1

2

3

这个输出代码为:

丁一

王二麻子

张三

李四

赵五

1

2

3

4

5

这个i可以换成任何东西,比如你换成j,换成一个

字符串

,只要和下面的print()里面的内容匹配即可。

比如我们可以写:

class1 = ['丁一', '王二麻子', '张三', '李四', '赵五']

for haha in class1:

print(haha)

1

2

3

这样输出的结果其实是一样的。

For语句还通常与range()函数合用,range函数的话其实就是一个类似于list的东西,只不过它可能更像list的长度,你想循环多少次,在range的括号里填写几就可以,比如我写for i in range(3),那么它就是循环3次:

for i in range(3):

print('hahaha')

1

2

这个它就会输出三行‘hahaha’。

我担心大家可能会对这个for i in range(3)中的i还有疑惑,刚刚i不是代表列表里的每一个元素吗,这边这个i又是什么意思呢?这边我给大家做一个偷懒的总结:

(1)对于"for i in 区域"来说,如果说这个区域是一个列表,那么那个i就表示这个列表里的每一个元素;

(2)对于"for i in 区域"来说,如果说这个区域是一个range(n),那么那个i就表示0到n -1这n个数字,之前提到过,python中序号都是从0开始的,所以这边也是从0开始,到n - 1结束。

(3)对于"for i in 区域"来说,如果说这个区域是一个字典,那么i表示的就是字典的中的键(了解即可,很长一段时间用不到)

还有个非常重要的知识点:for i in range(5)的话,它的确会循环5次,但要注意,在python中,第一个元素的序号其实是0,所以如果我们输入如下代码:

for i in range(5):

print(i)

1

2

那么输出的结果是从0开始的,也就是0到4

0

1

2

3

4

1

2

3

4

5

这时候你可能要问,这玩意有什么用?下面我就以舆情监控中的实战来给大家讲解下for语句在爬虫实战中的应用:

title = ['标题1','标题2','标题3','标题4','标题5']

for i in range(len(title)): #len(title)表示一个有多少个新闻,这里是5

print(str(i+1) + '.' + title[i]) #这个其实把字符串进行一个拼接

1

2

3

上面这几行代码已经很大程度就是你做项目实战用到的代码了,暂时看着有点晕也没有关系,我在教学视频里会详细介绍下的。我先用大白话来解释下这几行代码在干嘛:

爬到了一些新闻标题,放到了title这个列表里

用len(title)来获取一共有多少条新闻,并利用for和range语句来进行循环:

打印输出新闻标题,并且在前面加上序号

1

2

3

输出结果如下图所示:

其中有几个小注意点,

(1)range(len(title))这边就相当于range(5),因为len(title)就等于5,所以for i in range(len(title))就是循环5次,这里的i就表示数字0-4。

(2)为什么要写str(i + 1),因为我们要标序号,'标题1’是字符串形式的,而i是数字,我们讲过数字和字符串不能直接相加,所以要用str函数进行下转换。

(3)至于为什么不是str(i),而是str(i + 1)。是因为之前讲列表的时候提到过,在编程中,第一个序号都是0,比如之前列表里讲过的class1[0]表示“丁一”一样,这边如果写str(i)的话,那么输出的第一个序号就是“0.标题1”了。

(4)因为这里的i就表示数字0-4,title[i]的话,表示列表中的第i+1个元素,所以title[0]的话就表示第1个元素,title[4]就表示第5个元素。

通过

for循环

和range()函数和len()函数的联合使用,可以同时打印多个列表中的元素,代码如下:

# 在实战中的应用(可以同时打印多个列表中的内容)

title = ['标题1', '标题2', '标题3', '标题4', '标题5']

href = ['网址1', '网址2', '网址3', '网址4', '网址5']

for i in range(len(title)): # len(title)表示一个有多少个新闻,这里是5;这里的i就表示数字0-4

print(str(i+1) + '.' + title[i]) # 这个其实把字符串进行一个拼接

print(href[i])

1

2

3

4

5

6

3、While语句详解与实践

While的底层逻辑也是循环,它和For的特点不一样,最大的区别是For知道循环次数,而While的话则是不清楚循环次数。

其使用格式为,注意要写冒号以及代码前的缩进:

while 条件:

要执行的的代码

1

2

举个例子给大家看下:

a = 1

while a < 3:

print(a)

a = a + 1 #或者写成 a += 1

1

2

3

4

它白话的意思就是:

首先将1赋值给a

当 a 小于3的时候:

打印输出a

a 在原来的基础上加上1

1

2

3

4

a一开始等于1,满足小于3的条件,会打印输出1,然后a加上1等于2,此时a仍然小于3,所以仍然会执行打印输出的命令,此时打印输出2,然后a在2的基础上加上1等于3,此时a已经不满足小于3的条件了,那么循环此时便终止了。最后输出如下:

1

2

1

2

大家可以试着把数字3换成别的数试试看。

其实我们之后大多情况下用到While的时候,就是让While来一直循环(如果用for i in range(n),无论n多大,那么早晚都有结束的时候),这个在爬虫实战中的具体应用是:当每爬完一次,就自动进行下一次爬取,实现24小时不间断爬取。那么While如何能实现一直循环呢?

具体的方法其实很简单,那就用while True进行永久循环。

while True:

代码块

1

2我爱编程网

给大家截个图看下,下面这张图就是最终的代码效果,这个while True就是舆情监控系统实现24小时不间断爬取的秘诀,有个注意点,这个True得大写首字母,之后讲到的时候再详细介绍:

大家如果想停止while True的不停的循环,可以在点击右上角的红色终止按钮即可。我当初自己学的时候,写过这么两行代码

python if和while的区别有哪些

python if语句是什么?

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

Python 编程中 if 语句用于控制程序的执行。其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。

else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。

(1)简单的

if语句

在第1行中,可包含任何条件测试,而在紧跟在测试后面的缩进代码块中,可执行任何操作。如果条件测试的结果为True,Python就会执行紧跟在if语句后面的代码;否则Python将忽略这些代码。

(2)if-else语句

经常需要在条件测试通过了时执行一个操作,并在没有通过时执行另一个操作;在这种情况下,可使用Python提供的if-else语句。if-else语句块类似于简单的if语句,但其中的else语句,让你能够指定条件测试未通过时要执行的操作。

(3)if-elif-else语句

经常需要检查超过两个的情形,为此可使用Python提供的if-elif-else结构。Python只执行if-elif-else结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。

条件测试:

(1)概念:

每条if语句的核心都是一个值为True或False的

表达式

,这种表达式被称为条件测试。Python根据条件测试的值为True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。

(2)检查是否相等:

通常情况下会用 “==”的左值和右值是否相等来判断程序是否继续进行,会区分大小写也会用“!=” 来表示不相等继续进行,相等则忽略。

(3)检查多个条件:

and:    要检查是否两个条件都为True,可使用关键字and将两个条件测试合而为一;如果每个测试都通过了,整个表达式就为True;如果至少有一个测试没有通过,整个表达式就为False。

or:   关键字or也能够让你检查多个条件,但只要至少有一个条件满足,就能通过整个测试。仅当两个测试都没有通过时,使用or的表达式才为False。

(4)检查特定值是否包含在列表内:

要判断特定的值是否已包含在列表中,可使用关键字in。

(5)检查特定值是否不包含在列表内:

确定特定的值未包含在列表中很重要,可使用关键字not in。

(6)布尔表达式:

布尔表达式的结果要么为True,要么为False。

以上就是python if和while的区别有哪些全部内容,更多相关信息,敬请关注我爱编程网。
与“python if和while的区别有哪些”相关推荐