Python学习笔记(三)程序控制之选择结构

3.1  选择结构

3.1.1  条件表达式

§在选择和循环结构中,条件表达式的值只要不是False0(或0.00j等)、空值None、空列表、空元组、空集合、空字典、空字符串、空range对象或其他空迭代对象,Python解释器均认为与True等价。

§从这个意义上来讲,几乎所有的Python合法表达式都可以作为条件表达式,包括含有函数调用的表达式。

例如:

>>> if 3:              #使用整数作为条件表达式

      print(5)

5

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

>>> if a:              #使用列表作为条件表达式

      print(a) 

[1, 2, 3]

>>> a = []

>>> if a:

      print(a)

else:

    print('empty')

empty

 

>>> i = s = 0

>>> while i <= 10:              #使用关系表达式作为条件表达式

    s += i

    i += 1

>>> print(s)

55

>>> i = s = 0

>>> while True:                    #使用常量True作为条件表达式

    s += i

    i += 1

    if i > 10:

  break

>>> print(s)

55

>>> s = 0

>>> for i in range(0, 11, 1):   #遍历迭代对象中的所有元素

    s += i

>>> print(s)

55

3.1.2 选择结构的几种形式

单分支选择结构

基本语法:

if  表达式:

      语句块

程序流程图

示例如下:

x = input('Input two number:')

a, b = map(int, x.split())

if a > b:

   a, b = b, a               #序列解包,交换两个变量的值

print(a, b)

注意:在Python中,代码的缩进非常重要,缩进是体现代码逻辑关系的重要方法,同一个代码块必须保证相同的缩进量 。

双分支选择结构

基本语法:

if 表达式:

      语句块 1

else:

      语句块2

程序流程图:

 

示例如下:

 >>> x =1

>>>y =2

if  x>y:

    print(x)

else:

    print(y)

2

 三元运算符

基本语法:

value1 if condition else value2

示例如下:

>>> a = 5

>>> print(6) if a>3 else print(5)

6

>>> print(6 if a>3 else 5)

6

>>> b = 6 if a>13 else 9

>>> b

9 

 多分支结构

基本语法:

if 表达式1:

    语句块1

elif 表达式2:

    语句块2

elif 表达式3:

    语句块3

else:

    语句块4

其中,关键字elif是else if的缩写 

示例如下:

利用多分支选择结构将成绩从百分制变换到等级制

def func(score):

      if score > 100:

  return 'wrong score.must <= 100.'

      elif score >= 90:

  return 'A'

    elif score >= 80:

  return 'B'

    elif score >= 70:

  return 'C'

    elif score >= 60:

  return 'D'

    elif score >= 0:

  return 'E'

    else:

  return 'wrong score.must >0' 

3.1.3  选择结构的嵌套

 基本语法:

if 表达式1:

    语句块1

    if 表达式2:

        语句块2

    else:

        语句块3

else:

    if 表达式4:

        语句块4

 注意:缩进必须要正确并且一致。如图:

 示例如下:

使用嵌套的选择结构实现百分制成绩到等级制的转换

>>> def func(score):

      degree = 'DCBAAE'

      if score > 100 or score < 0:

        return 'wrong score.must between 0 and 100.'

    else:

        index = (score - 60)//10

        if index >= 0:

            return degree[index]

        else:

       return degree[-1]

PS:

本篇主要参考董付国老师的《Python可以这样学》一书,这是一本不错的Python入门书籍,有兴趣的可以买本看看,当然,也可以持续关注我的博客,我会一直更新相关内容的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值