判断语句和循环语句

一、判断语句
  • 判断语句介绍

生活中的判断场景

  • 火车站安检


    安检.png
  • 上网吧


    上网.png
  • 密码判断


    密码.png

小总结:

  • 如果某些条件满足,才能做某件事情;而不满足时,则不允许做,这就是所谓的判断
  • 不仅生活中有,在软件开发中“判断”功能也经常会用到
  • if判断语句
  • if判断语句介绍
    if语句是用来进行判断的,其使用格式如下:

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

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

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

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

运行结果:


结果.png
  • demo2:
age = 16

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

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

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

运行结果:


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

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

  • 练一练
  • 要求:从键盘获取自己的年龄,判断是否大于或者等于18岁,如果满足就输出“哥,已成年,网吧可以去了”

    • input从键盘中获取数据,并且存入到一个变量中
    • 使用if语句,来判断 age>=18是否成立
  • 想一想

判断age大于或者等于18岁,使用的是 >=,还有哪些呢?

  • 比较(即关系)运算符

python中的比较运算符如下表


比较运算符.png
  • 逻辑运算符
逻辑运算符.png
  • if-else
  • 想一想:在使用if的时候,它只能做到满足条件时要做的事情。那万一需要在不满足条件的时候,做某些事,该怎么办呢?
    答:使用 if-else
  • 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:有车票的情况


    结果.png
  • 结果2:没有车票的情况


    结果.png
  • 练一练

要求:从键盘输入身高,如果身高没有超过150cm,则进动物园不用买票,否则需要买票。

  • elif
  • 想一想:
    if能完成当xxx时做事情
    if-else能完成当xxx时做事情1,否则做事情2
    如果有这样一种情况:当xxx1满足时做事情1;当xxx1不满足、xxx2满足时做事情2;当xxx2不满足、xxx3满足时做事情3,那该怎么实现呢?

  • 答:
    elif

  • 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')
  • 注意点
    可以和else一起使用
  if 性别为男性:
      输出男性的体重
      ...
  elif 性别为女性:
      输出女性的体重
      ...
  else:
      第三种性别的体重
      ...
  • 说明:

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

  • else 一般用在最后,即所有条件都不满足时使用

  • if嵌套
  • 通过学习if的基本用法,已经知道了
    当需要满足条件去做事情的这种情况需要使用if
    当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else

  • 想一想:
    坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?

  • 答:
    if嵌套

  • if嵌套的格式
   if 条件1:

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

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


    结果.png
  • 结果2:chePiao = 1;daoLenght = 20


    结果.png
  • 结果3:chePiao = 0;daoLenght = 9


    结果.png
  • 结果4:chePiao = 0;daoLenght = 20


    结果.png
  • 想一想:为什么结果3和结果4相同???

  • 练一练
  • 情节描述:上公交车,并且可以有座位坐下
    要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果车上有空座位,就可以坐下。
  • 应用:猜拳游戏
  • 参考代码:
import random

player = input('请输入:剪刀(0)  石头(1)  布(2):')

player = int(player)

computer = random.randint(0,2)

if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
   print('获胜,哈哈,你太厉害了')
elif player == computer:
   print('平局,要不再来一局')
else:
   print('输了,不要走,洗洗手接着来,决战到天亮')
  • 结果一:


    结果.png
  • 结果二:


    结果.png
  • 结果三:


    结果.png
二、循环语句
  • 循环介绍

生活中的循环场景

  • 跑道


    跑道.png
  • 风扇


    风扇.png
  • CF加特林


    CF-加特林.png

软件开发中循环的使用场景

  • 跟媳妇承认错误,说一万遍"媳妇儿,我错了"
print("媳妇儿,我错了")
print("媳妇儿,我错了")
print("媳妇儿,我错了")
 ...(还有99997遍)...
  • 使用循环语句一句话搞定
i = 0
while i < 10000:
   print("媳妇儿,我错了")
   i += 1

小总结

  • 一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成
  • 循环不是必须要使用的,但是为了提高代码的重复使用率,所以有经验的开发者都会采用循环
  • while循环
  • while循环的格式
   while 条件:
       条件满足时,做的事情1
       条件满足时,做的事情2
       条件满足时,做的事情3
       ...(省略)...
  • demo:
i = 0
while i < 5:
   print("当前是第%d次执行循环" % (i + 1))
   print("i=%d" % i)
   i += 1
  • 结果:


    结果.png
  • while循环应用
  • 计算1~100的累积和(包含1和100)
  • 参考代码如下:
#encoding=utf-8

i = 1
sum = 0
while i<=100:
   sum = sum + i
   i += 1

print("1~100的累积和为:%d"%sum)
  • 运行结果:


    结果.png
  • 计算1~100之间偶数的累积和(包含1和100)
  • 参考代码如下:
#encoding=utf-8

i = 1
sum = 0
while i<=100:
   if i % 2 == 0:
       sum = sum + i
   i+=1

print("1~100的偶数累积和为:%d"%sum)
  • 运行结果:


    结果.png
  • while循环嵌套
  • 前面学习过if的嵌套了,想一想if嵌套是什么样子的?
  • 类似if的嵌套,while嵌套就是:while里面还有while
  • while嵌套的格式
   while 条件1:

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

       while 条件2:
           条件2满足时,做的事情1
           条件2满足时,做的事情2
           条件2满足时,做的事情3
           ...(省略)...
  • while嵌套应用一
    要求:打印如下图形:
*
* *
* * *
* * * *
* * * * *
  • 参考代码:
i = 1
while i<=5:
   j = 1
   while j<=i:
       print("* ",end='')
       j+=1

   print("\n")
   i+=1
  • 运行结果:


    结果.png
  • while嵌套应用二:九九乘法表
  • 参考代码:
i = 1
while i<=9:
   j=1
   while j<=i:
       print("%d*%d=%-2d "%(j,i,i*j),end='')
       j+=1
   print('\n')
   i+=1
  • 运行结果:


    结果.png
  • for循环
  • 像while循环一样,for可以完成循环的功能。
  • 在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
  • for循环的格式
for 临时变量 in 列表或者字符串等:
   循环满足条件时执行的代码
  • demo1:
name = 'neuedu'

for x in name:
   print(x)
  • 运行结果:


    结果.png
  • demo2:
name = 'hello'

for x in name:
   print(x)
   if x=='l':
       break #退出for循环
else:
   print("==for循环过程中,如果没有break则执行==")
  • 运行结果:


    结果.png
  • demo3:
name = 'hello'

for x in name:
   print(x)
   #if x=='l':
   #    break #退出for循环
else:
   print("==for循环过程中,如果没有break则执行==")
  • 运行结果:


    结果.png
三、break和continue
  • break
  • for循环
    普通的循环示例如下:
name = 'neuedu'

for x in name:
   print(x)
   print('----')
  • 运行结果:


    结果.png

带有break的循环示例如下:

name = 'neuedu'

for x in name:
   if x == 'u':
       break
   print(x)
   print('----')
  • 运行结果:


    结果.png
  • while循环
    普通的循环示例如下:
i = 0

while i<5:
   i = i+1
   print(i)
   print('----')
  • 运行结果:


    结果.png

带有break的循环示例如下:

i = 0

while i<5:
   i = i+1
   if i==3:
       break
   print(i)
   print('----')
  • 运行结果:


    结果.png
  • 小结:

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

  • continue
  • for循环
    带有continue的循环示例如下:
name = 'neuedu'

for x in name:
   if x == 'u':
       continue
   print(x)
   print('----')
  • 运行结果:


    结果.png
  • while循环
    带有continue的循环示例如下:
i = 0

while i<5:
   i = i+1
   if i==3:
       continue
   print(i)
   print('----')
  • 运行结果:


    结果.png
  • 小结:

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

  • 注意点
  • break/continue只能用在循环中,除此以外不能单独使用

  • break/continue在嵌套循环中,只对最近的一层循环起作用

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容