python基础-Unit 2.判断语句和循环语句

如果某些条件满足,才能做某件事情,而不满足时不允许做,这就是所谓的判断

1.if判断语句

if语句是用来进行判断的,其使用格式如下:

if 要判断的条件:
    条件成立时,要做的事情
  • demo1:
age = 30

print "------if判断开始------"

if age>=18:
    print "我已经成年了"

print "------if判断结束------"

运行结果:

------if判断开始------
我已经成年了
------if判断结束------
  • demo2:
age = 16

print "------if判断开始------"

if age>=18:
    print "我已经成年了"

print "------if判断结束------"

运行结果:

------if判断开始------
------if判断结束------

小总结:

  • 以上2个demo仅仅是age变量的值不一样,结果却不同;
  • 能够看得出if判断语句的作用:就是当满足一定条件时才会执行那块代码,否则就不执行那块代码

注意:

  • 代码的缩进为一个tab键,或者4个空格

2.比较、关系运算符

A.比较(即关系)运算符

运算符描述示例
==检查两个操作数的值是否相等,如果是则条件变为真。如a=3,b=3则(a == b) 为 true.
!=检查两个操作数的值是否相等,如果值不相等,则条件变为真。如a=1,b=3则(a != b) 为 true.
<>检查两个操作数的值是否相等,如果值不相等,则条件变为真。如a=1,b=3则(a <> b) 为 true。这个类似于 != 运算符
>检查左操作数的值是否大于右操作数的值,如果是,则条件成立。如a=7,b=3则(a > b) 为 true.
<检查左操作数的值是否小于右操作数的值,如果是,则条件成立。如a=7,b=3则(a < b) 为 false.
=
检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。如a=3,b=3则(a >= b) 为 true.
<=检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。如a=3,b=3则(a <= b) 为 true.

B.逻辑运算符

运算符逻辑表达式描述实例
andx and y布尔”与” - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b) 返回 20。
orx or y布尔”或” - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。(a or b) 返回 10。
notnot x布尔”非” - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b) 返回 False

3.if-else

在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,就会用到else

A.if-else的使用格式

if 条件:
    满足条件时要做的事情1
    满足条件时要做的事情2
    满足条件时要做的事情3
    ...(省略)...
else:
    不满足条件时要做的事情1
    不满足条件时要做的事情2
    不满足条件时要做的事情3
    ...(省略)...

demo1

chePiao = 1 # 用1代表有车票,0代表没有车票
if chePiao == 1:
    print "有车票,可以上火车"
    print "终于可以见到Ta了,美滋滋~~~"
else:
    print "没有车票,不能上车"
    print "亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~"

结果1:有车票的情况

有车票,可以上火车
终于可以见到Ta了,美滋滋~~~

结果2:没有车票的情况

没有车票,不能上课
亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~

4.elif

A.elif的功能

elif的使用格式如下:

if xxx1:
    事情1
elif xxx2:
    事情2
elif xxx3:
    事情3

说明:

  • 当xxx1满足时,执行事情1,然后整个if结束
  • 当xxx1不满足时,那么判断xxx2,如果xxx2满足,则执行事情2,然后整个if结束
  • 当xxx1不满足时,xxx2也不满足,如果xxx3满足,则执行事情3,然后整个if结束

demo:

    score = 77

    if score>=90 and score<=100:
        print '本次考试,等级为A'
    elif score>=80 and score<90:
        print '本次考试,等级为B'
    elif score>=70 and score<80:
        print '本次考试,等级为C'
    elif score>=60 and score<70:
        print '本次考试,等级为D'
    elif score>=0 and score<60:
        print '本次考试,等级为E'

B.注意点

  • 可以和else一起使用

    if 性别为男性:
     输出男性的特征
     ...
    elif 性别为女性:
     输出女性的特征
     ...
    else:
     第三种性别的特征
     ...

    说明:

    • 当 “性别为男性” 满足时,执行 “输出男性的特征”的相关代码
    • 当 “性别为男性” 不满足时,如果 “性别为女性”满足,则执行 “输出女性的特征”的相关代码
    • 当 “性别为男性” 不满足,“性别为女性”也不满足,那么久默认执行else后面的代码,即 “第三种性别的特征”相关代码
  • elif必须和if一起使用,否则出错

5.if嵌套

A.if嵌套的格式

if 条件1:

    满足条件1 做的事情1
    满足条件1 做的事情2
    ...(省略)...

    if 条件2:
        满足条件2 做的事情1
        满足条件2 做的事情2
        ...(省略)...
  • 说明
    • 外层的if判断,也可以是if-else
    • 内层的if判断,也可以是if-else
    • 根据实际开发的情况,进行选择

B.if嵌套的应用

demo:

chePiao = 1     # 用1代表有车票,0代表没有车票
daoLenght = 9     # 刀子的长度,单位为cm

if chePiao == 1:
    print "有车票,可以进站"
    if daoLenght < 10:
        print "通过安检"
        print "终于可以见到Ta了,美滋滋~~~"
    else:
        print "没有通过安检"
        print "刀子的长度超过规定,等待警察处理..."
else:
    print "没有车票,不能进站"
    print "亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~"

结果1:chePiao = 1;daoLenght = 9

有车票,可以进站
通过安检
终于可以见到Ta了,美滋滋~~~

结果2:chePiao = 1;daoLenght = 20

有车票,可以进站
没有通过安检
刀子的长度超过规定,等待警察处理...

结果3:chePiao = 0;daoLenght = 9

没有车票,不能进站
亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~

结果4:chePiao = 0;daoLenght = 20

没有车票,不能进站
亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~

C.练习

情节描述:上公交车,并且可以有座位坐下

要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果空座位的数量大于0,就可以坐下

程序如下:

#coding=utf-8
#情节描述:上公交车,并且可以有座位坐下
#要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果空座位的数量大于0,就可以坐下

money = 10
seatCount = 0

if money>2:
    print("可以上车")
    if(seatCount>0):
        print("可以坐下")
    else:
        print("不可以坐下")
else:
    print("不可以上车")

6.应用:猜拳游戏

#coding=utf-8
#猜拳游戏
import random
player = raw_input("请出拳 石头0,剪刀1,布2:")
player = int(player)
computer = random.randint(0,2)

if ((player==0) and (computer==1))or((player==1) and (computer==2))or((player==2) and (computer==0)):
    print("you win")
elif player==computer:
    print("====")
else:
    print("you lose")

运行结果:

请出拳 石头0,剪刀1,布2:1
you lose

一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成

循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环

7.while循环

A.while循环的格式

while 条件:
    条件满足时,做的事情1
    条件满足时,做的事情2
    条件满足时,做的事情3
    ...(省略)...

demo

i = 0
while i<5:
    print "当前是第%d次执行循环"%(i+1)
    print "i=%d"%i
    i+=1

结果:

当前是第1次执行循环
i=0
当前是第2次执行循环
i=1
当前是第3次执行循环
i=2
当前是第4次执行循环
i=3
当前是第5次执行循环
i=4

8.while循环嵌套

A.while嵌套的格式

while 条件1:

    条件1满足时,做的事情1
    条件1满足时,做的事情2
    条件1满足时,做的事情3
    ...(省略)...

    while 条件2:
        条件2满足时,做的事情1
        条件2满足时,做的事情2
        条件2满足时,做的事情3
        ...(省略)...

B.while嵌套应用(一)

要求:打印如下图形:

*
* *
* * *
* * * *
* * * * *

参考代码:

i = 1
while i<=5:

    j = 1
    while j<=i:
        print "* ",
        j+=1

    print ""
    i+=1

C.while嵌套应用(二)

使用while,完成以下图形的输出

*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*

参考代码:

#coding=utf-8
i=1
while i<=5:
    j=1
    while j<=i:
        print("* "),
        j+=1
    print("")
    i+=1


k=1
while k<=4:
    a=4
    while a>=k:
        print("* "),
        a-=1
    print("")
    k+=1

9.break和continue

A.break

  • 普通的循环示例如下:

    for i in range(10):
      print '。。。。'
      print i

    运行结果:

    。。。。
    0
    。。。。
    1
    。。。。
    2
    。。。。
    3
    。。。。
    4
    。。。。
    5
    。。。。
    6
    。。。。
    7
    。。。。
    8
    。。。。
    9
  • 带有break的循环示例如下:

    for i in range(10):
      print '。。。。'
      print(i)
      if i == 3:
          break

    运行结果:

    。。。。
    0
    。。。。
    1
    。。。。
    2
    。。。。
    3

    小总结:

    • break的作用:用来结束整个循环

B.continue

  • 带有continue的循环示例如下:

    for i in range(10):
        print '。。。。'
        if i==3:
            continue
        print i

    运行结果:

    。。。。
    0
    。。。。
    1
    。。。。
    2
    。。。。
    。。。。
    4
    。。。。
    5
    。。。。
    6
    。。。。
    7
    。。。。
    8
    。。。。
    9

    小总结:

    • continue的作用:用来结束本次循环,紧接着执行下一次的循环

C.注意点

  • break/continue只能用在循环中,除此以外不能单独使用
  • break/continue在嵌套循环中,只对最近的一层循环起作用
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值