python switch语句的多种实现方法

说明:
 - python中没有switch关键字 
 - 定义 字典
 - 调用 字典的get(key)获取对应的表达式

1,实现switch的一般方式

复制代码代码示例:

from __future__ import division

def add(x, y) :
    return x + y

def subtract(x, y) :
    return x - y

def multiply(x, y) :
    return x * y

def divide(x, y) :
    return x / y

def calculate(x, y, symbol) :
    if   "+" == symbol :
        print add(x, y)
    elif "-" == symbol :
        print subtract(x, y)
    elif "*" == symbol :
        print multiply(x, y)
    elif "/" == symbol :
        print divide(x, y)
    else :
        pass

calculate(1, 2, "+")
calculate(1, 2, "-")
calculate(1, 2, "*")
calculate(1, 2, "/")

2,字典实现switch语句
   - value 为 函数

复制代码代码示例:

from __future__ import division

def add(x, y) :
    return x + y

def subtract(x, y) :
    return x - y

def multiply(x, y) :
    return x * y

def divide(x, y) :
    return x / y

calculateDict = {"+":add, "-":subtract, "*":multiply, "/":divide}

#print calculateDict["+"](1,2)
#print calculateDict.get("+")(1,2)

def calculate(x, y, symbol) :
     print calculateDict.get(symbol)(x, y)

calculate(1, 2, "+")
calculate(1, 2, "-")
calculate(1, 2, "*")
calculate(1, 2, "/")

3,常用形式

复制代码代码示例:

from __future__ import division

def calculate(x, y, symbol) :
    calculateDict = {
            "+" : x + y     ,
            "-"  : x - y      ,
            "*"  : x * y     ,
            "/"  : x / y     
            }
    print calculateDict.get(symbol)

calculate(1, 2, "+")    
calculate(1, 2, "-")    
calculate(1, 2, "*")    
calculate(1, 2, "/")

python switch语句的多种实现方法相关推荐

  1. c语言case多种情况,switch语句中有多种情况

    有没有一种方法可以遍历多个case语句而不声明case value:重复? 我知道这可行: switch (value) { case 1: case 2: case 3: //do some stu ...

  2. python switch语句_几个Python里的骚操作

    今天给大家分享几个Python里面的骚操作,大家会更加感受到Python编码的强大. 1.用字典映射代替switch case语句 大家首先看下面这段用C#编写的switch case代码,代码很好理 ...

  3. c程序设计语言克尼汉,《C程序设计语言(第2版新版)典藏版》 —3.4 switch语句...

    3.4   switch语句 switch语句是一种多路判定语句,它测试表达式是否与一些常量整数值中的某一个值匹配,并执行相应的分支动作. switch(表达式){ case 常量表达式:语句序列 c ...

  4. python循环语句中的乘法_python循环语句详细讲解

    想必大家都知道python循环语句吧,可以python循环语句有多种,比如for循环.while循环.if.else等等, 我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下: ...

  5. Python循环语句及随机数生成

    Python循环语句 编写程序时的三种顺序: 顺序:从上向下,顺序执行代码         分支:根据条件判断,决定执行代码的分支         循环:让特定代码重复执行(解决程序员重复工作) Py ...

  6. python进阶:switch语句、推导式与None类型

    一.python实现switch语句 简单示例 适合一般情形的示例 二.推导式:由已知对象推出另一对象 列表推导式 列表推导式内一般不涉及函数(匿名函数),因为其本身就自带函数的特性 map可以是替代 ...

  7. python中if else语句用法_Python中if-else语句的多种写法

    原博文 2017-02-06 10:24 − 初学Python在看程序时发现python中if-else的多种写法,故对其进行分析. 以下为网络内容: a, b, c = 1, 2, 3 1.常规 i ...

  8. [转载] Python中的switch语句的替代品

    参考链接: Java中的switch语句 Python 中没有 switch语句. 一般用if-else 语句可以替代switch语句,今天学习了使用字典的映射来代替switch语句.Mark一下 d ...

  9. Python中用字典的映射来代替switch语句

    python 中没有 switch语句.用if-else 语句替代的办法实在蠢得忍不了. 本文用字典的映射来代替switch语句,记得收藏哦. #coding:utf-8 '''字典代替switch' ...

最新文章

  1. 关于大型网站技术演进的思考(四)-存储的瓶颈4
  2. [笔记]Go语言在Linux环境下输出彩色字符
  3. 基于Vue.js的后台管理系统组件开发
  4. Thymeleaf提取公共页面(从实例入手,以inspinia模板为例)
  5. 从接触FPGA开始...
  6. 一个文件下载的工具类
  7. 男朋友的回答可以多敷衍?
  8. 静态顺序表的基本操作
  9. list.php tid 1,DedeCMS栏目用目录名个性化伪静态
  10. mysql数据库sql注入原理_sql注入原理详解(一)
  11. 相互宝正式宣布将于2022年1月28日关停
  12. html页面改成wap页面,wap网页怎么制作 这五大常见问题你要了解一下了!
  13. 前篇:1.公共技术点之面向对象六大原则
  14. %appdata% 代表什么?
  15. P1713 麦当劳叔叔的难题(90分)
  16. Liunx配置tomcat
  17. bSRVCC振铃前SRVCC信令流程
  18. 新店速递丨白玉兰(商务)酒店赣榆吾悦广场店 正式上线
  19. 我本不属于人间—献给全世界最伟大的女性
  20. Android仿苹果白色dialog

热门文章

  1. cisco学习笔记(2)
  2. 同一个tomcat部署多个项目导致启动失败
  3. VIVADO时序约束及STA基础
  4. 语音对话平台海尔五代智能电视落地
  5. IBM Copy Service--Flashcopy Introduction
  6. 将字典直接写入文件,出现中文乱码问题
  7. iOS开发之地图与定位
  8. 记一次Animator状态快速切换问题的解决
  9. Windows 10 之修改登录背景(Win10BGChanger)
  10. 不能从const char *转换为LPCWSTR --VS经常碰到