python的if else 语句使得循环停止的_Python条件语句和循环语句
条件和条件语句
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条件语句和循环语句相关推荐
- python无限循环条件循环_Python - 条件控制、循环语句 - 第十二天
Python 条件控制.循环语句 end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: Python 条件语句是通过一条或多条语句的执行结果(True 或 ...
- 怎样跳出Python条件语句 继续判断下一个条件语句_Python条件判断、循环与迭代...
昨天学完了数据类型,那么今天学习什么鸭? 惨绿青年:今天来学习条件判断.循环和迭代吧. 条件判断 惨绿青年:说条件判断之前,先给你说下前面的布尔值. 我:布尔值咋了,怎么又说它鸭? 惨绿青年:布尔值不 ...
- python分支与循环_python 条件分支与循环
一.if判断: 语法一: if 条件: # 条件成立时执行的子代码块 代码1 代码2 代码3 示例: sex='female' age=18 is_beautiful=True if sex == ' ...
- python常用操作符_Python3.4学习笔记之常用操作符,条件分支和循环用法示例
本文实例讲述了Python3.4常用操作符,条件分支和循环用法.分享给大家供大家参考,具体如下: #Pyhon常用操作符 c = d = 10 d /= 8 #3.x真正的除法 print(d) #1 ...
- python for循环n次_Python入门10 —— for循环
1.字符串依次取值 students = ['egon', 'lxx', 'alex'] i = 0 while i < 3: print(students[i]) i += 1 2.针对循环取 ...
- python中while循环的格式_Python 学习笔记——for循环和while循环
文章目录 一.for循环 1.for循环的格式 2.for循环遍历字典 3.range()函数 for循环配合range()函数 二.while循环 while循环的格式 break while循环 ...
- pythonwhile循环实战教程_Python入门丨for循环和while循环
for...in...循环语句 for循环可以遍历任何序列的项目,如一个列表或者一个字符串 实例 for i in 'one': print(i) 输出结果 o n e for循环:空房子 空房子的学 ...
- python中for语句可以有else部分_Python中的for...else语句可以不写else吗?
学习过程中遇到这个问题来交流下. 首先我们来看这个循环: for i in range(1,6): for k in range(1,i): print (k,end='')#可以设置end参数为空字 ...
- java循环停止_什么时候java无限循环停止?
My question is, do java infinite loops stop? 有些人有,有些则没有.这取决于循环的实现方式. 基本上,您确定在其他语言中停止的情况也可以在Java中停止-取 ...
最新文章
- 巴菲特评科技股:投资 IBM 是个错误,还会增持苹果,亚马逊简直是奇迹
- php的json格式
- WebBrowser组件和MSHTML
- 使用LAMP创建基于wordpress的个从博客网站
- 使用笛卡尔积 cross join解决傻傻的问题
- Linux 文件系统基础
- 技术演讲的技巧和经验
- LeetCode 229 : Majority Element II
- 阿里的Json解析包FastJson使用
- 一个简单的二层系统分析全程
- 四大组件之Activity(下)——Activity的常用Manifest属性、启动模式、ADB调试
- FAT和FAT32文件系统的原理
- 迅为6818/4418开发板Yocto开发指南
- 关注虚拟财富“.ME”域名的投资价值
- 调用企查查第三方Api:企业工商模糊搜索
- 详解 HTTP 协议报文格式 构造 HTTP 请求
- win7系统64位安装MATLAB(R2016)
- Windows配置端口转发绕过samba 445端口限制共享linux磁盘
- 【资讯】国家级转基因大豆玉米品种审定标准
- 使用CobaltStrike制作宏文件钓鱼
热门文章
- steam的常用计算机,一份Steam调研报告看PC主流配置是什么
- 推荐5款免费且无广告的软件,助你提升效率
- 【Android】 android suspend/resume总结(2)
- 【Java知识点整理】MarkDown语法和Java历史
- Oracle control文件,Oracle中的控制文件(control file)
- 荣耀8x系列新机解锁双喇叭设计,小米没做到的它做到了
- 学习日记-AE使用Adobe Media Enconde生成mp4文件
- Launcher开发——入门篇
- 如何使用会声会影去除视频水印
- systemtap的安装和使用