澳门至尊网站-首页

您的位置:澳门至尊网站 > 程序编程 > 条件判断

条件判断

2019-10-26 01:58

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

  到近来甘休,Python基础种类的作品中的程序都以一条一条语句顺序实践的。在本章中,我会入眼介绍让程序选拔是不是执行语句块的法子。

  Python程序为何能够兑现作者选用的固守吗?因为它能够借助条件进行判别是不是实施下边包车型客车语句块。

  Python基础——数据类型中讲到的布尔值就与原则判定有着一定的维系。

基准判定

 1.1 语句块

  什么是语句块吧?

  语句块是在标准化为真(条件语句)时进行或许实施数14遍(循环语句)的生龙活虎组语句。在代码前放置空格来缩进语句就可以创建语句块。

  关于缩进:

    使用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后')

  由此,在编制程序中,条件剖断是非常首要的。条件决断能够让Computer自个儿做选取,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运算符。

小结

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

  2. Python的口径剖断if...elif...else很利索;

  3. 原则判断从上向下相配;

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

本文由澳门至尊网站发布于程序编程,转载请注明出处:条件判断

关键词: