条件和条件语句

1. 有条件地执行和 if 语句

真值可合并,至于如何合并稍后再讲,先来看看真值可用来做什么。请尝试运行下面的脚本:

name = input('What is your name? ')

if name.endswith('Gumby'):

print('Hello, Mr. Gumby')

这就是if语句,让你能够有条件地执行代码。这意味着如果条件(if和冒号之间的表达式)

为前面定义的真,就执行后续代码块(这里是一条print语句);如果条件为假,就不执行。

2. elif 子句

要检查多个条件,可使用elif。elif是else if的缩写,由一个if子句和一个else子句组合而

成,也就是包含条件的else子句。

3. if-else 语句

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

下面的代码在一个 人够投票的年龄时显示与前面相同的消息,同时在这个人不够投票的年龄时也显示一条消息:

age = 17

1.ifage>=18:

print("You are old enough to vote!")

print("Have you registered to vote yet? )

2.else:

print("Sorry, you are too young to vote.' )

print("Please register to vote as soon as you turn 18!")

如果1处的条件测试通过了,就执行第一个缩进的print语 句块;如果测试结果为False, 就执行2处的else代码块。这次age小于18. 条件测试未通过,因此执行else代码块中的代码:Sorry, you are too young to vote.

Please register to vote as soon as you turn 18!

上述代码之所以可行,是因为只存在两种情形:要么够投票的年龄,要么不够。if-else结构非常适合用于要i让Python执行两种操作之一的情形 。在这种简单的if-else结构中,总是会执行两个操作中的一个。

4. 代码块嵌套

下面穿插点额外的内容。你可将if语句放在其他if语句块中,如下所示:

name = input('What is your name? ')

if name.endswith('Gumby'):

if name.startswith('Mr.'):

print('Hello, Mr. Gumby')

elif name.startswith('Mrs.'):

print('Hello, Mrs. Gumby')

else:

print('Hello, Gumby')

else:

print('Hello, stranger')

在这里,如果名字以Gumby结尾,就同时检查名字开头,这是在第一个代码块中使用一条独立的if语句完成的。请注意,这里还使用了elif。最后一个分支(else子句)没有指定条件——如果没有选择其他分支,就选择最后一个分支。如果需要,这里的两个else子句都可省略。如果省略里面的else子句,将忽略并非以Mr.或Mrs.打头的名字(假设名字为Gumby)。如果省略外面的else子句,将忽略陌生人。

循环语句

1.while循环

while循环。当条件为真的时候,永远循环下去,如果条件为假,跳出循环或不循环。语法:

while条件:

执行体

当你执行下面代码,程序会一直打印 hello world。那是因为 a < b 这个条件是成立的

a = 1

b = 3

while a

print("hello world")

如果你想停止这个死循环,有 3 种办法:

第一种,把条件弄成不成立的,这样程序就只会循环一次

a = 1

b = 3

while a < b:

print("hello world")

a = 10

第二种,在循环体里加上 break 关键词,break 会帮你跳出循环

a = 1

b = 3

while a < b

print("hello world")

break

第三种(最简单的一种),按下 ctrl + c,但这样会报出 KeyboardInterrupt 的错误。

2.for 循环

while语句非常灵活,可用于在条件为真时反复执行代码块。这在通常情况下很好,但有时候你可能想根据需要进行定制。一种这样的需求是为序列(或其他可迭代对象)中每个元素执行代码块。

注意 :基本上,可迭代对象是可使用for循环进行遍历的对象。就目前而言,只需将可迭代对象视为序列即可。

为此,可使用for语句:

words = ['this', 'is', 'an', 'ex', 'parrot']

for word in words:

print(word)

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

for number in numbers:

print(number)

鉴于迭代(也就是遍历)特定范围内的数是一种常见的任务,Python提供了一个创建范围的内置函数。

>>> range(0, 10)

range(0, 10)

>>> list(range(0, 10))

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

范围类似于切片。它们包含起始位置(这里为0),但不包含结束位置(这里为10)。在很多情况下,你都希望范围的起始位置为0。实际上,如果只提供了一个位置,将把这个位置视为结束位置,并假定起始位置为0。

>>> range(10)

range(0, 10)

下面的程序打印数1~100:

for number in range(1,101):

print(number)

注意,相比前面使用的while循环,这些代码要紧凑得多。

提示:只要能够使用for循环,就不要使用while循环。

3.while循环与for循环的差异

while循环与for循环的最大区别在于,while循环是基于条件判断的循环,而for循环则是基于容器的循环。对于while循环来说,当条件满足时,将一直处于循环状态,除非碰见break关键词;对于for循环来说,当容器内的元素没有迭代结束,则一直处于循环状态,同样碰见break关键词时也会退出循环。

所以,在做循环问题时,首先自问循环过程中有没有明确的迭代对象(即容器),然后再根据判断结果,选择优先方案,即如果有迭代对象,则优先使用for循环,否则优先使用while循环。

4.range()

range()是一个内置函数,这意味着Python是预先打包了它的。这个函数可以创建一个数字序列(称为range对象)并返回它。当然,您可以将这组数字用于各种目的: 如下所示,range()实际上能很好地与循环一起使用。

下面是Python help()模块提供的一个更专业的解释:

"返回一个对象,该对象会从开始数字(包括)到停止数字(不包括)按步长生成一个整数序列。range(i, j)会产生i, i+1, i+2,…,j-1。开始数字默认为0,停止数字被省略!range(4)会产生0,1,2,3。这些正是一个4元素列表的有效索引。当给定一个步长时,它指定了递增数(或递减数)。

5.continue

语句continue没有break用得多。它结束当前迭代,并跳到下一次迭代开头。这基本上意味着跳过循环体中余下的语句,但不结束循环。这在循环体庞大而复杂,且存在多个要跳过它的原因时很有用。在这种情况下,可使用continue,如下所示:

for x in seq:

if condition1: continue

if condition2: continue

if condition3: continue

do_something()

do_something_else()

do_another_thing()

etc()

然而,在很多情况下,使用一条if语句就足够了。

for x in seq:

if not (condition1 or condition2 or condition3):

do_something()

do_something_else()

do_another_thing()

etc()

continue虽然是一个很有用的工具,但并非不可或缺的。

6.使用break退出循环

要立即退出while循环,不再运行循环中余下的代码,也不管条件测试的结果如何,可使用break语句。break语句用于控制程序流程,可使用它来控制哪些代码行将执行,哪些代码行不执行,从而让程序按你的要求执行你要执行的代码。

例如,来看一个让用户指出他到过哪些地方的程序。在这个程序中,我们可以在用户输入'quit'后使用break语句立即退出while循环:

while True:

city = input(prompt)

if city =='quit':

break

else:

print("I'd love togo to”+ city.title() + "!")

以while True打头的循环将不断运行,直到遇到break语句。这个程序中的循环不断输入用户用过的城市的名字,知道他输入'quit'为止。用户输入'quit'后,将执行break语句,导致python退出循环:

注意 :在任何python循环中都可以使用break语句。例如,可使用break语句来退出遍历列表或字典的for循环

7.布尔值与布尔运算

1. 布尔值:True(判断为真)和False(判断为假)。为真,则可继续运⾏下去,为假,条件不成⽴,不会执⾏接下来的语句。

Tip:在使⽤True与False时⾸字⺟要⼤写!

2. 布尔运算:⽤数据做逻辑运算。(进⾏布尔运算后得到的结果为布尔值。例如:下⽅print()函数括号内进⾏了布尔运算,输出的值为布尔值。)

1)⽤数值做⽐较,使⽤⽐较运算符号:(注意区别=与==)

python的if else 语句使得循环停止的_Python条件语句和循环语句相关推荐

  1. python无限循环条件循环_Python - 条件控制、循环语句 - 第十二天

    Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...

  2. 怎样跳出Python条件语句 继续判断下一个条件语句_Python条件判断、循环与迭代...

    昨天学完了数据类型,那么今天学习什么鸭? 惨绿青年:今天来学习条件判断.循环和迭代吧. 条件判断 惨绿青年:说条件判断之前,先给你说下前面的布尔值. 我:布尔值咋了,怎么又说它鸭? 惨绿青年:布尔值不 ...

  3. python分支与循环_python 条件分支与循环

    一.if判断: 语法一: if 条件: # 条件成立时执行的子代码块 代码1 代码2 代码3 示例: sex='female' age=18 is_beautiful=True if sex == ' ...

  4. python常用操作符_Python3.4学习笔记之常用操作符,条件分支和循环用法示例

    本文实例讲述了Python3.4常用操作符,条件分支和循环用法.分享给大家供大家参考,具体如下: #Pyhon常用操作符 c = d = 10 d /= 8 #3.x真正的除法 print(d) #1 ...

  5. python for循环n次_Python入门10 —— for循环

    1.字符串依次取值 students = ['egon', 'lxx', 'alex'] i = 0 while i < 3: print(students[i]) i += 1 2.针对循环取 ...

  6. python中while循环的格式_Python 学习笔记——for循环和while循环

    文章目录 一.for循环 1.for循环的格式 2.for循环遍历字典 3.range()函数 for循环配合range()函数 二.while循环 while循环的格式 break while循环 ...

  7. pythonwhile循环实战教程_Python入门丨for循环和while循环

    for...in...循环语句 for循环可以遍历任何序列的项目,如一个列表或者一个字符串 实例 for i in 'one': print(i) 输出结果 o n e for循环:空房子 空房子的学 ...

  8. python中for语句可以有else部分_Python中的for...else语句可以不写else吗?

    学习过程中遇到这个问题来交流下. 首先我们来看这个循环: for i in range(1,6): for k in range(1,i): print (k,end='')#可以设置end参数为空字 ...

  9. java循环停止_什么时候java无限循环停止?

    My question is, do java infinite loops stop? 有些人有,有些则没有.这取决于循环的实现方式. 基本上,您确定在其他语言中停止的情况也可以在Java中停止-取 ...

最新文章

  1. 巴菲特评科技股:投资 IBM 是个错误,还会增持苹果,亚马逊简直是奇迹
  2. php的json格式
  3. WebBrowser组件和MSHTML
  4. 使用LAMP创建基于wordpress的个从博客网站
  5. 使用笛卡尔积 cross join解决傻傻的问题
  6. Linux 文件系统基础
  7. 技术演讲的技巧和经验
  8. LeetCode 229 : Majority Element II
  9. 阿里的Json解析包FastJson使用
  10. 一个简单的二层系统分析全程
  11. 四大组件之Activity(下)——Activity的常用Manifest属性、启动模式、ADB调试
  12. FAT和FAT32文件系统的原理
  13. 迅为6818/4418开发板Yocto开发指南
  14. 关注虚拟财富“.ME”域名的投资价值
  15. 调用企查查第三方Api:企业工商模糊搜索
  16. 详解 HTTP 协议报文格式 构造 HTTP 请求
  17. win7系统64位安装MATLAB(R2016)
  18. Windows配置端口转发绕过samba 445端口限制共享linux磁盘
  19. 【资讯】国家级转基因大豆玉米品种审定标准
  20. 使用CobaltStrike制作宏文件钓鱼

热门文章

  1. steam的常用计算机,一份Steam调研报告看PC主流配置是什么
  2. 推荐5款免费且无广告的软件,助你提升效率
  3. 【Android】 android suspend/resume总结(2)
  4. 【Java知识点整理】MarkDown语法和Java历史
  5. Oracle control文件,Oracle中的控制文件(control file)
  6. 荣耀8x系列新机解锁双喇叭设计,小米没做到的它做到了
  7. 学习日记-AE使用Adobe Media Enconde生成mp4文件
  8. Launcher开发——入门篇
  9. 如何使用会声会影去除视频水印
  10. systemtap的安装和使用