您的位置:时时app平台注册网站 > 编程知识 > Python基础——条件判断,python基础判断【时时a

Python基础——条件判断,python基础判断【时时a

2019-10-30 04:36

  到近些日子停止,Python基础体系的稿子中的程序都以一条一条语句顺序实行的。在本章中,笔者会入眼介绍让程序选用是或不是进行语句块的艺术。

规范化判定

假若需求检查多少个标准化,就足以选择elif,它是“else if的简写,也是if和else子句的一路利用----也等于负有准绳的else子句。

小结

  1. 等号运算符:==,单个等号=为赋值运算符;

  2. Python的标准剖断if...elif...else很灵巧;

  3. 标准推断从上向下相配;

  4. 围堵逻辑适用于布尔运算符(and,or)。

小结

  1. 等号运算符:==,单个等号=为赋值运算符;

  2. 标准判定能够让计算机自己做接纳,Python的if...elif...else很灵活;

  3. 条件判定从上向下相称,当满意条件时实践相应的块内语句,后续的elif和else都不再推行。

Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ 到这两天截至,Python基础体系的稿子中的程序都是一条...

5.4.7断言

 1.1 语句块

  什么是语句块啊?

  语句块是在准绳为真(条件语句)时实行也许实行数次(循环语句)的后生可畏组语句。在代码前停放空格来缩进语句就能够创造语句块。

  关于缩进:

    使用tab键也得以缩进语句块。Python将二个tab字符解释为到下二个tab字符地点的位移,而叁个tab字符地点为8个空格,可是正式且推荐的办法是只用空格,极其是在各种缩进须要4个空格的时候。

  在Python中,韩文版冒号(:)用来标志语句块的起来,块中的每贰个话语都是缩进的(缩进量相近)。当回降低到和早就已经关闭的块相通的缩进量时,就代表近些日子块已经停止了(那一个毫无操心,比非常多程序编辑器和购并开垦境况都通晓怎么缩进语句块,能够扶植客商轻易把握缩进)!!!

 1.2 条件和规范语句

  有趣的事中的if语句将在闪亮上台啦~~~

  使用标准语句实际不是少写了冒号(:),何况必得是爱尔兰语版本的。

  1. if语句

  对于if语句,若条件推断为真,那么后边的语句块就能够被推行。若条件剖断为假,语句块就能够被跳过,不会履行。

1 #if语句
2 age = 20
3 if age >= 18:
4     print('your age is', age)
5     print('adult')

  2. else语句

  else子句只是增添风姿浪漫种选择(之所以称为子句是因为它不是单身的口舌,而是if的意气风发部分)。if...else...搭配,若if语句为False,不进行if下的语句块,而去else下的语句块。

1 #if...else...语句
2 age = 3
3 if age >= 18:
4     print('your age is', age)
5     print('adult')
6 else:
7     print('your age is', age)
8     print('teenager')

  3. elif语句

  若是急需检讨两个规格,就能够动用elif,它是else if的简写,也是if和else语句的协同使用,就算用elif做更留意的剖断:

1 #if...elif...elif...else...语句
2 age = 3
3 if age >= 18:
4     print('adult')
5 elif age >= 6:
6     print('teenager')
7 else:
8     print('kid')

  4. 尺度语句计算

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

  5. 注意点

  if语句试行有个特点,它是从上往下判别,假如在有些推断上是True,把该论断相应的口舌实施后,就概略掉多余的elifelse语句,所以,请测验并解释为啥上面包车型客车次序打字与印刷的是teenager:

1 #条件语句执行特点:从上往下判断
2 age = 20
3 if age >= 6:
4     print('teenager')
5 elif age >= 18:
6     print('adult')
7 else:
8     print('kid')

  6. input()运用

  最后看叁个有题指标尺码判别。相当多同校会用input()读取顾客的输入,那样能够友善输入,程序运转得更风趣,更有人性化。其实啊,Error往往出现在意想不到之处。不相信,来看段代码:

#if语句中使用input()方法
birth = input('birth: ')
if birth < 2000:
    print('00前')
else:
    print('00后')

  输入一九九五,结果报错:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() > int()

  为何吗?作者在刚接触Python时,用到此处报错也是百思不解,同样纠葛了遥远。直到后来,作者才慢慢懂了。

  关于input(),笔者在小说《Python基础——输出[print()]与输入[input()]》中曾经讲得比较详细了。

  那是因为input()重返的数据类型是strstr无法间接和整数相比,必得先把str转换来整数。Python提供了int()函数来成功那件事情。

s = input('birth: ')
birth = int(s)
if birth < 2000:
    print('00前')
else:
    print('00后')

  由此,在编制程序中,条件推断是极度关键的。条件推断能够让计算机自个儿做选拔,Python的if...elif...else很灵巧。条件推断从上向下匹配,当满意条件时施行相应的块内语句,后续的elif和else都不再推行。

1.3 条件运算符

  条件剖断,if语木帝在判别并选拔是或不是实践,而并未有过多涉及条件本身。

  上边是Python中广大的规范化运算符:

Python中的条件运算符
表达式 描述
x == y x 等于 y
x < y x 小于 y
x > y x 大于 y
x >= y x 大于等于 y
x <= y x 小于等于 y
x != y x 不等于 y
x is y x和y是同一个对象
x is not y x和y不是同一对象
x in y x是y容器的成员
x not in y x不是y容器的成员

  在Python中,比较运算和赋值运算是能够接二连三的——多少个运算符能够连在一同使用,举例: 0 < age <120。

  有些运算符值得专程关怀:

  意气风发、相等运算符

  要是想要知道四个内容是或不是等于,你应当运用分外运算符,即四个等号==。请必得记得是多少个等号!!!单个等号只是赋值啊~~~

1 #相等运算符==
2 >>>"python" == "python"
3 True
4 >>>"Python" == "python"
5 False
6 >>>"python" = "python"
7   File "<stdin>", line 1
8 SyntaxError: can't assign to literal
9 #很明显,单个相等运算符是赋值运算符,是用来改变值的,而不能用来比较

  二、is:同生龙活虎性运算符

  其一概念十分不协调,什么是同生龙活虎性?第三回接触真是云里雾里啊,真正掌握is运算符才知道同黄金时代性的真理。

  乍生龙活虎看,is运算符和==同样,事实上却分化。

  示例代码如下:

 1 #同一性运算符:is
 2 #is和==之间的差异
 3 >>>x = y = [1,2,3]
 4 >>>z = [1,2,3]
 5 >>>x == y
 6 True
 7 >>>x == z
 8 True
 9 >>>x is y
10 True
11 >>>y is x
12 True
13 >>>x is z
14 False
15 >>>z is x
16 False

  注:==运算符相比四个指标是还是不是等于,is推断双方是或不是大器晚成律(同四个对象)。

  三、in:成员身份运算符

  四、布尔运算符:and、or和not

  五、短路逻辑

  短路???条件表明式中的布尔运算符就有其豆蔻梢头性格。什么是短路逻辑吗?如下所示:

  条件表明式:a and b,该表明式什么时候回到True呢?即a与b同期为真,若a判别为False,则无论b是真是假,该表明式都为为False。

  事实上,假若x为假,条件说明式会重临x的值,不然重回y的值。这种作为被可以称作短路逻辑。而围堵逻辑相近适用于or运算符。

Python基础——条件决断,python基础推断

  Python版本:3.6.2  操作系统:Windows  我:SmallWZQ

  到前段时间停止,Python基础种类的随笔中的程序都以一条一条语句顺序实施的。在本章中,作者会重视介绍让程序选用是或不是奉行语句块的法子。

  Python程序为啥能够完毕本身选取的作用吗?因为它能够依靠条件举行剖断是或不是实行上边包车型客车语句块。

  Python基础——数据类型中讲到的布尔值就与标准推断有着必然的联络。

换句话说,也正是专门的学问值False和None、全体项目标数字0(包涵浮点型、长整型和任何项目)、空体系(举个例子空字符串、元组和列表)甚至空的字典都为假。其他的总体都被解释为真,满含优良值True.

  Python基础——数据类型中讲到的布尔值就与标准决断有着必然的关联。

 1.1 语句块

  什么是语句块啊?

  语句块是在原则为真(条件语句)时进行或许推行数次(循环语句)的后生可畏组语句。在代码前放置空格来缩进语句就可以创设语句块。

  关于缩进:

    使用tab键也得以缩进语句块。Python将贰个tab字符解释为到下三个tab字符地方的运动,而贰个tab字符地方为8个空格,然则正式且推荐的点子是只用空格,尤其是在各样缩进供给4个空格的时候。

  在Python中,阿尔巴尼亚语版冒号(:)用来标记语句块的上马,块中的每二个言辞都以缩进的(缩进量近似)。当回落到和早就已经关闭的块雷同的缩进量时,就象征最近块已经收尾了(那些毫无操心,非常多前后相继编辑器和购并开荒条件都了解哪些缩进语句块,能够援救客商轻松把握缩进)!!!

 1.2 条件和原则语句

  轶事中的if语句将在闪亮上台啦~~~

  使用原则语句并不是少写了冒号(:),而且必需是波兰语版本的。

  1. if语句

  对于if语句,若条件剖断为真,那么前边的语句块就能够被实践。若条件判别为假,语句块就能被跳过,不会实施。

1 #if语句
2 age = 20
3 if age >= 18:
4     print('your age is', age)
5     print('adult')

  2. else语句

  else子句只是扩张黄金时代种选拔(之所以称之为子句是因为它不是单身的说话,而是if的后生可畏有个别)。if...else...搭配,若if语句为False,不执行if下的语句块,而去else下的语句块。

1 #if...else...语句
2 age = 3
3 if age >= 18:
4     print('your age is', age)
5     print('adult')
6 else:
7     print('your age is', age)
8     print('teenager')

  3. elif语句

  若是急需检查八个条件,就足以使用elif,它是else if的简写,也是if和else语句的同步利用,纵然用elif做更周到的推断:

1 #if...elif...elif...else...语句
2 age = 3
3 if age >= 18:
4     print('adult')
5 elif age >= 6:
6     print('teenager')
7 else:
8     print('kid')

  4. 法则语句总括

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

  5. 注意点

  if语句推行有个天性,它是从上往下判定,如若在某些判定上是True,把该论断相应的言辞实施后,就忽视掉多余的elifelse语句,所以,请测验并解释为何上边包车型大巴次序打字与印刷的是teenager:

1 #条件语句执行特点:从上往下判断
2 age = 20
3 if age >= 6:
4     print('teenager')
5 elif age >= 18:
6     print('adult')
7 else:
8     print('kid')

  6. input()运用

  最终看三个十分的基准剖断。非常多同校会用input()读取客户的输入,那样能够协和输入,程序运行得更风趣,更有人性化。其实啊,Error往往现身在离奇的地点。不相信,来看段代码:

#if语句中使用input()方法
birth = input('birth: ')
if birth < 2000:
    print('00前')
else:
    print('00后')

  输入壹玖玖贰,结果报错:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() > int()

  为何吧?小编在刚接触Python时,用到此地报错也是高深莫测,同样纠葛了遥远。直到后来,作者才日渐懂了。

  关于input(),作者在小说《Python基础——输出[print()]与输入[input()]》中曾经讲得比较详细了。

  那是因为input()再次回到的数据类型是strstr无法直接和整数相比,必得先把str调换到整数。Python提供了int()函数来成功这件业务。

s = input('birth: ')
birth = int(s)
if birth < 2000:
    print('00前')
else:
    print('00后')

  由此,在编制程序中,条件推断是极其重大的。条件判定能够让计算机本人做取舍,Python的if...elif...else很灵巧。条件决断从上向下相配,当满足条件时实践相应的块内语句,后续的elif和else都不再实行。

1.3 条件运算符

  条件判定,if语伏羲臣在推断并接收是还是不是进行,而未有过多涉及条件本人。

  上面是Python中常见的规范运算符:

Python中的条件运算符
表达式 描述
x == y x 等于 y
x < y x 小于 y
x > y x 大于 y
x >= y x 大于等于 y
x <= y x 小于等于 y
x != y x 不等于 y
x is y x和y是同一个对象
x is not y x和y不是同一对象
x in y x是y容器的成员
x not in y x不是y容器的成员

  在Python中,相比运算和赋值运算是足以连绵不断的——多少个运算符可以连在一齐使用,举例: 0 < age <120。

  某个运算符值得特别关爱:

  生龙活虎、相等运算符

  倘诺想要知道七个内容是还是不是等于,你应有运用十二分运算符,即几个等号==。请必须记得是四个等号!!!单个等号只是赋值啊~~~

1 #相等运算符==
2 >>>"python" == "python"
3 True
4 >>>"Python" == "python"
5 False
6 >>>"python" = "python"
7   File "<stdin>", line 1
8 SyntaxError: can't assign to literal
9 #很明显,单个相等运算符是赋值运算符,是用来改变值的,而不能用来比较

  二、is:同后生可畏性运算符

  以此定义特别不友好,什么是同风度翩翩性?第贰次接触真是云里雾里啊,真正理解is运算符才知道同生龙活虎性的真谛。

  乍风度翩翩看,is运算符和==相仿,事实上却比不上。

  示例代码如下:

 1 #同一性运算符:is
 2 #is和==之间的差异
 3 >>>x = y = [1,2,3]
 4 >>>z = [1,2,3]
 5 >>>x == y
 6 True
 7 >>>x == z
 8 True
 9 >>>x is y
10 True
11 >>>y is x
12 True
13 >>>x is z
14 False
15 >>>z is x
16 False

  注:==运算符相比八个对象是否等于,is判断双方是不是黄金时代致(同二个目的)。

  三、in:成员身价运算符

  四、布尔运算符:and、or和not

  五、断言:条件后,增添字符串,解释断言,关键字:assert(在前后相继中置入检查点)

>>> x,y,z=1,2


Traceback (most recent call last):
File "", line 1, in
ValueError: need more than 2 values to unpack

  

标准推断

 

  Python版本:3.6.2  操作系统:Windows  小编:SmallWZQ

要同时输出文本和变量值,却又不期望选拔字符串格式化:

  Python程序为啥能够兑现自己选取的法力吗?因为它能够依照准则实行判断是不是实行上面包车型客车语句块。

在乎上面的言辞和下边包车型大巴语句不必然等价:

5.1.1用到逗号输出

5.4尺码和标准语句

5.1 print和import的愈来愈多消息

Python基础——条件判断,python基础判断【时时app平台注册网站】。False None 0 ”” () [] {}

num=input('enter a number:')
if num>0:
print 'the number is positive'
elif num<0:
print 'the number is negtive'
else:
print 'the number is zero'

  

>>> x=y=[1,2,3]

>>> z=[1,2,3]

>>> x==y

True

>>> x==z

True

>>> x is y

True

>>> x is z

False

  

x和z相等却不均等,为啥吗?因为is运算符是判断同黄金时代性并不是相等性的。变量x和y都被绑定到同二个列表上,而变量z被绑定在其它三个具备相似数值和顺序的列表上。它们的值或然约等于,不过却不是同三个对象。

链式赋值(chained assignment)是将同一个值赋给七个变量的走后门。

>>>print'age:',42
age: 42

  

5.字符串和连串相比较

上面包车型大巴值在作为布尔表达式的时候,会被解释器看作假(false}:

即使想要知道八个东西是或不是等于,应该使用十三分运算符,即五个等号==

5.2.1行列解包

>>> age=10

>>> assert 0<age<100

>>> age=-1

>>> assert 0<age<100

Traceback (most recent call last):

File "<input>", line 1, in <module>

AssertionError

  

时时app平台注册网站 1

>>> scoundrel={'name':'robin','girlfriend':'marion'}

>>> key,value=scoundrel.popitem()

>>> key


'girlfriend'

>>> value


'marion'

  

>>> name='Gumby'

>>> salutation='Mr.'

>>> greeting='Hello.'

>>>print greeting,salutation,name

Hello. Mr. Gumby

  

若果在结尾处加上逗号,那么接下去的语句会与前一条语句在相仿行打印:

print 'Hello,',
print 'world!'

Hello, world!

5.1.2 把某一件事作为另风流浪漫件事导入

1.比较运算符

5.2.2链式赋值

2.相等运算符

5.4.4 elif子句

>>> x=2

>>> x =1

>>> x*=2

>>> x

6

  

5.3语句块:缩排的童趣

多少个赋值操作能够同偶尔候开展:

也足以为函数提供小名:

4.in:成员身价运算符

y=somefunction()

它同意函数重临一个以上的值并且打包成元组,然后经过三个赋值语句比较轻巧进行访问。所解包的系列中的成分数量必得和停放在赋值符号=左侧的变量数量完全生龙活虎致,不然Python会在赋值时引发这么些:

5.4.2 条件推行和if语句

x=y=somefunction()

  1. is:同生龙活虎性运算符

时时app平台注册网站 2

if语句,它能够兑现规范化实行。即只要条件 (在if和冒号之间的表明式)判定为真,那么前面包车型大巴语句块就能够被实践。假使条件为假,语句块就不会被实行.

>>> from math import sqrt as foobar

>>> foobar(4)

2.0

  

  

5.2赋值

import somemodule

from somemodule import somefunctian

from somemodule import somefunction,anotherfunction,yetanotherfunction

from somemodule import*

能够在言语末尾扩大叁个as子句,在该子句后提交名字,或为整个模块提供别名:

>>> import math as foobar

>>> foobar.sqrt(4)


2.0

  

x=somefunction()

x=y

5.4.5更头昏眼花的基准

5.2.3增量赋值

打字与印刷多少个表明式也是实用的,只要将它们用逗号隔离就好:

和底下语句的职能是风流洒脱律的:

此处未有将赋值表明式写为x=x 1,而是将表达式运算符放置在赋值运算符的右侧,写成x =1。这种写法叫做增量赋值(augmented assignment),对于*、/、%等标准运算符都适用.

name=raw_input('what is your name?:')
if name.endswith('jack'):
print 'hello, Mr.jack'

  

5.4.3 else子句

name=raw_input('what is your name?:')
if name.endswith('jack'):
print 'hello, Mr.jack'
else:
print 'hello, stranger'

  

>>> x,y,z=1,2,3

>>> print x,y,z

1 2 3

>>> x,y=y,x

>>> print x,y,z

2 1 3

  

队列解包(sequence unpacking)或可选代解包--将八个值的行列解开,然后放到变量的队列中:

>>> values=1,2,3

>>> values

(1, 2, 3)

>>> x,y,z=values

>>> x

1

  

当函数大概措施再次回到元组(大概别的类别或可迭代对象)时,那天性格尤其有用。借使须要得到(和删除)字典中随便的键-值对,能够选拔popitem方法,那几个点子将键-值作为元组再次来到。那么这些元组就能够平昔赋值到多个变量中:

语句块是在标准为真(条件语句)时实行可能实践多次(循环语句)的意气风发组语句。在代码前放置空格来缩进语句就能够创设语句块。使用tab字符也得以缩进语句块。Python将三个tab字符解释为到下贰个tab字符地点的活动,而三个tab字符地方为8个空格,可是正式且推荐的主意是只用空格,极度是在各个缩进供给4个空格的时候。

只要急需确认保证程序中的有些条件一定为真本领让程序平常职业的话,assert语句就有用了,它能够在程序中置入检查点。

6.布尔运算符

Python基础——条件判断,python基础判断【时时app平台注册网站】。从模块导入函数:

y=somefunction()

5.4.1那正是布尔变量的效应

本文由时时app平台注册网站发布于编程知识,转载请注明出处:Python基础——条件判断,python基础判断【时时a

关键词: