判断语句+循环语句—python

一、布尔类型

布尔(bool)表达现实生活中的逻辑,即真和假,True表示真 ,False表示假。 在进行if判断时,表达式的值为1(或者非0)即为真,表达式的值为0即为假。

二、比较运算符

运算符描述示例
==是否等于a=3,b=3,(a==b)为真
!=是否不等于a=3,b=3,(a==b)为假
>是否大于a=2,b=3,(a>b)为假
<是否小于a=2,b=3,(a<b)为真
>=是否大于等于a=3,b=3,(a>=b)为真
<=是否小于等于a=3,b=3,(a<=b)为真

三、判断语句

3.1 if 语句

if 要判断的条件:

      条件成立时,要做的事情

用代码举例:

if 5>4:
    print("5>4")

if 2>4:
    print("2>4")

输出:

5>4

第一个if条件成立,为真,执行print语句,输出“5>4”;第二个if条件不成立,为假,不执行print语句。

3.2 if else 语句

if 要判断的条件:

      条件成立时,要做的事情

else:

      条件不成立时,要做的事情

用代码举例:

条件成立时:

number=4
if number%2==0:
    print("number为偶数")
else:
    print("number为奇数")

输出:

number为偶数

条件不成立时:

number=7
if number%2==0:
    print("number为偶数")
else:
    print("number为奇数")

输出:

number为奇数

关于缩进:

在python的if判断语句中,if语句、else语句、elif语句,这些语句能控制多少条子句,都是靠子句的缩进控制的(需要4个空格作为缩进),PyCharm使用非常方便,在写完判断语句后,会一直默认进入执行语句的格式,点击删除键即可正常输入其他语句。

在C语言中,if语句,else语句,else if语句,这些语句能控制多少条子句,都是靠“{ }”控制的,请读者勿混淆。

3.3 if elif else语句

if 条件1:

      条件1成立时,要做的事情

elif 条件2:

      条件2成立时,要做的事情

elif 条件3:

      条件3成立时,要做的事情

......

else:

     条件都不成立时,要做的事情

用代码举例:

#在商场消费一定金额可获得相应的赠品
count=599 #消费金融为599元
if count>1000:
    print("本次消费您可获得洗衣液一瓶")
elif count>500:
    print("本次消费您可获得洗洁精一瓶")
else:
    print("本次消费您可获得纸扇一把")

输出:

本次消费您可获得洗洁精一瓶

3.4 if 语句的嵌套

#通过一个长方体的长、宽、高是否相等来判断其是否为正方体
length=3
width=3
height=3
if length==width:
    if width==height:
        print("该长方体为正方体")

输出:

该长方体为正方体

四、循环语句

循环有2种常用语句,分别是while循环和for循环,语句格式和适用场景稍有不同,逻辑是相同的,符合条件则一直执行操作,直到不符合条件,就退出循环。

4.1 while循环

4.1.1 while循环的基本格式

while 条件:

    条件满足时执行操作1

    条件满足时执行操作2

    条件满足时执行操作3

    ……

用代码举例:

#输出10次加菲猫爱吃千层面
j=10
while j>0:
    print("加菲猫爱吃千层面")
    j-=1#等效于j=j-1

输出:

加菲猫爱吃千层面
加菲猫爱吃千层面
加菲猫爱吃千层面
加菲猫爱吃千层面
加菲猫爱吃千层面
加菲猫爱吃千层面
加菲猫爱吃千层面
加菲猫爱吃千层面
加菲猫爱吃千层面
加菲猫爱吃千层面

tips:

  1. while的条件判断表达式,得出的结果必须是布尔类型,True表示继续循环,False表示结束循环
  2. 需要设置循环终止的条件,如i += 1配合 i < 100,就能确保100次后停止,否则将无限循环
  3. while循环和 if 判断一样,都依靠空格缩进来控制相应的子句

4.1.2 while循环的嵌套循环

python中默认的print语句输出内容后会自动换行,如代码所示:

print("Hello")
print("World")

输出:

Hello
World

如果想要输出不换行,在print语句中加上 end=' '即可。代码如下:

print("Hello",end=' ')
print("World",end=' ')

输出:

Hello World

通过while循环,输出如下九九乘法表内容:

i=1#定义行变量
while i<=9:#外层循环
    j = 1#定义列变量
    while j<=i:#内层循环
        print("%d*%d=%d\t"%(j,i,i*j),end=' ')#通过\t制表符进行对齐
        j+=1
    i+=1
    print()#print空内容,换行的作用

输出:

1*1=1     
1*2=2     2*2=4     
1*3=3     2*3=6     3*3=9     
1*4=4     2*4=8     3*4=12     4*4=16     
1*5=5     2*5=10     3*5=15     4*5=20     5*5=25     
1*6=6     2*6=12     3*6=18     4*6=24     5*6=30     6*6=36     
1*7=7     2*7=14     3*7=21     4*7=28     5*7=35     6*7=42     7*7=49     
1*8=8     2*8=16     3*8=24     4*8=32     5*8=40     6*8=48     7*8=56     8*8=64     
1*9=9     2*9=18     3*9=27     4*9=36     5*9=45     6*9=54     7*9=63     8*9=72     9*9=81

4.2 for循环

4.2.1 for循环的基本格式

for 临时变量 in 待处理的数据集:

    满足循环条件时所执行的操作

用代码举例:

#通过for循环,遍历此字符串,统计有多少个英文字母:"o"
name="my heart go on"
count=0#count用来记录name中有几个字母o
for x in name:
    if x=="o":
        count+=1
print("name中有%d个字母o"%count)

输出:

name中有2个字母o

tips:

  1. for循环无法定义条件,只能被动地从数据集中取出数据,因此for循环也称为遍历循环
  2. for循环也是靠空格缩进控制子句。
  3. for循环中的临时变量,其作用域限定为循环内

4.2.2 range函数

range函数的功能:获得一个简单的数字序列,主要有3种语法:

  1. range(num),获取一个从0到num的数字序列(不包含num本身),例如range(5)获得的数字序列是[0,1,2,3,4]
  2. range(num1,num2),获取一个从num1到num2的数字序列(不包含num2本身),例如range(3,9)获得的数字序列是[3,4,5,6,7,8]
  3. range(num1,num2,step),获取一个从num1到num2步长为step的数字序列(step默认为1),例如range(3,9,2)获得的数字序列是[3,5,7]

for循环语句,本质上是遍历可迭代对象。 通过range语句,获得的一个简单的数字序列就是可迭代类型的一种。for循环通常搭配range语句一起使用

4.2.3 for循环的作用域

在for循环的基本格式中,我们提到过 i 是一个临时变量。

临时变量,在编程规范上,作用域只限定在for循环内部。

如果在for循环外部访问临时变量, 实际上是可以访问到的,但是在编程规范上,是不允许、不建议这么做的。

4.2.4  for循环的嵌套循环

通过for循环,输出如下九九乘法表内容:

方法一:

for i in range(1,10):
    for j in range(1,10):
        if j<=i:
            print("%d*%d=%d\t" % (j, i, i * j), end=' ')  # 通过\t制表符进行对齐
    print()#换行

方法二:

for i in range(1,10):
    for j in range(1,i+1):
       print("%d*%d=%d\t" % (j, i, i * j), end=' ')  # 通过\t制表符进行对齐
    print()#换行

方法一通过 if 判断来控制列数,方法二通过使range函数的第二个参数为变量来控制列数,两个方法的输出都是一样的:

1*1=1     
1*2=2     2*2=4     
1*3=3     2*3=6     3*3=9     
1*4=4     2*4=8     3*4=12     4*4=16     
1*5=5     2*5=10     3*5=15     4*5=20     5*5=25     
1*6=6     2*6=12     3*6=18     4*6=24     5*6=30     6*6=36     
1*7=7     2*7=14     3*7=21     4*7=28     5*7=35     6*7=42     7*7=49     
1*8=8     2*8=16     3*8=24     4*8=32     5*8=40     6*8=48     7*8=56     8*8=64     
1*9=9     2*9=18     3*9=27     4*9=36     5*9=45     6*9=54     7*9=63     8*9=72     9*9=81    

五、循环中断:continue和break

continue和break,在while循环和for循环中的作用一致。

5.1 continue关键字

continue的作用:中断当前循环体本次循环(continue之后的代码不再执行),直接进入当前循环体的下一次执行

5.1.1 while循环与continue

#输出从0-10但不包括5的数字序列
n=0
while n<11:
    if n==5:
        n += 1 # n为5时,也要加一,否则会陷入死循环
        continue
    else:
        print("%d "%n,end='')
        n += 1

输出:

0 1 2 3 4 6 7 8 9 10 

tips:

5.1.2 for循环与continue

#输出从0-10但不包括5的数字序列
for m in range(11):
    if(m==5):
        continue
    else:
        print("%d "%m,end='')

输出:

 0 1 2 3 4 6 7 8 9 10 

for循环中的range函数,在效果上相当于自动加1。while循环需要条件判断,又需要手动加1,因此略微繁琐。我们通过这个例子,也能品出while循环和for循环的区别,进而选择更好的适用情景。

5.2 break关键字

break的作用:直接跳出当前循环体

接下来沿用5.1 continue关键字中的代码示例,以便更好地区分continue和break的不同作用。

5.2.1 while循环与break

n=0
while n<11:
    if n==5:
        n += 1
        break
    else:
        print("%d "%n,end='')
        n += 1

输出:

0 1 2 3 4 

5.1.2 for循环与break

for m in range(11):
    if(m==5):
        break
    else:
        print("%d "%m,end='')

输出:

0 1 2 3 4 

4组代码的输出结果证明了:continue和break在while循环和for循环中的作用一致

通过下图可以更好地理解循环体本次循环的含义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值