python领域分支_Python教程(2.7)——条件分支

像其它语言一样,Python也有条件分支。

例如,输入用户年龄,可能需要判断是否成年,并做出不同反应。这就需要用到条件分支。

if条件分支

if条件分支的一般格式如下:

ifcondition:

statements

它的含义是:如果condition为True,则执行statements。通常condition都是一个结果为bool的表达式(前面说过,bool类型在条件判断中很常用)。

例如,有一个表示年龄的变量age,需要通过它判断是否成年(age>=18)。如果成年,输出信息。

if age >= 18:print('You\'re an adult.')

这里有一个小知识:对于'包裹的字符串,如果字符串里含有',为了让Python将'看作普通字符而不是字符串的结束标识,需要用\'。

要判断是否未成年也很简单,把条件age>=18改成age<18就可以了:

if age < 18:print('You\'re a teenager.')

if else条件分支

还是上面的例子,可能你希望在age>=18时,输出一些信息,在age<18时,输出一些其它信息。你可能想这么做:

if age >= 18:print('You\'re an adult.')if age < 18:print('You\'re a teenager.')

然而,Python(和其它编程语言)提供了更简洁的途径——if else条件分支。其格式如下:

if condition:

statements1

else:

statements2

if age >= 18:print('You\'re an adult.')else:print('You\'re a teenager.')

if elif else条件分支

可能你还觉得不够,需要判断该年龄是成人、青少年还是儿童。你可能想,可以这样写:

if age >= 18:print('You\'re an adult.')else

if age >= 13:print('You\'re a teenager.')else:print('You\'re a child.')

首先,如果age>=18为True,输出"You're an adult.";否则,如果age>=13为True,输出"You're a teenager";否则,输出"You're a child"。

但如果判断再多一些,缩进也会更多,就会很不美观。因此Python提供了if...elif...else...条件分支:

if age >= 18:print('You\'re an adult.')elif age >= 13:print('You\'re a teenager.')else:print('You\'re a child.')

elif是else if的简写。注意这里的else是可选的。

如果还需要判断是否是婴儿呢?没关系,继续加elif:

if age >= 18:print('You\'re an adult.')else if age >= 13:print('You\'re a teenager.')else if age >= 3:print('You\'re a child.')else:print('You\'re a baby.')

交互模式下的条件分支

如果你在交互模式下输入条件分支:

>>> age = 15

>>> if age >= 18:

现在按enter,你会发现命令提示符变了:

...

一般情况下,交互模式的提示符为>>>;如果出现代码块(例如if、if else、if elif else这些),提示符就会变为...。

在Python中,>>>被称为第一提示符(primary prompt),...被称为第二提示符(secondary prompt)。(注:中文是我自己翻译的)

注意在...后面打代码,需要至少一个空格的缩进(我习惯上打一个tab):

>>> if a ==0:

...print('zero')

如果像下面这样:

>>> if a ==0:

...print('zero')

就会有(类似)如下错误:

File "", line 2

print('zero')^IndentationError: expected an indented block

注意打elif和else时是不使用缩进的:

>>> if a !=0:

...print('non zero')

...else:

...print('zero')

要结束一个条件分支,直接在...后面按下enter就可以了:

>>> if a !=0:

...print('non zero')

...>>>

注意第三行是个空行,第四行已经出了条件分支了。

注意

Python条件分支的条件也可以是非bool的类型。这种情况下,Python会将条件的值转换成bool类型。例如:

ifa:print('non zero')else:print('zero')

这里a会被转换成bool,如果a不为0,转换为True,否则为False。

小结

1. if条件分支:如果条件为True,则执行if后面的代码块,否则不执行。

2. if else条件分支:如果条件为True,则执行if后面的代码块,否则执行else后面的代码块。

3. if elif else条件分支:执行第一个为True的条件后面的代码块,如果没有为True则执行else后面的代码块(如果有)。

4. Python的两种提示符分别为>>>和...。

5. 在交互模式下,条件分支中的代码需要缩进,但if/elif/else不用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值