Java中有switch这个东东有的地方使用switch感觉还挺好使,但是Python没有提供switch这个东东,下面我们想办法来完成类似Java和C里面的那种switch效果。

Java示例代码:

import java.util.Scanner;

public class Demo {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
System.out.println("请输入一个月份(1-12):");
int month = sc.nextInt(); switch(month) {
case 1:
case 2:
case 12:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
default:
System.out.println("输入的格式有误!!!");
}
sc.close();
}
}
eclipse中执行结果:
请输入一个月份(1-12):
12
冬季

Python示例代码:

sets = {
'1': '冬季',
'2': '冬季',
'3': '春季',
'4': '春季',
'5': '春季',
'6': '夏季',
'7': '夏季',
'8': '夏季',
'9': '秋季',
'10': '秋季',
'11': '秋季',
'12': '冬季',
} string = int(input("请输入一个月份(1-12):"))
print(sets.get(str(string), '输入的格式有误!!!')) # get(value,not result return value) pycharm中执行结果:
请输入一个月份(1-12):12
冬季

def a(month):
print(f'你输入的是:【{month}】是春季') def b(month):
print(f'你输入的是:【{month}】是夏季') def c(month):
print(f'你输入的是:【{month}】是秋季') def d(month):
print(f'你输入的是:【{month}】是冬季') def e(month):
print(f'输入的是:【{month}】请检查,格式有误!!!') sets = {
'1': d,
'2': d,
'3': a,
'4': a,
'5': a,
'6': b,
'7': b,
'8': b,
'9': c,
'10': c,
'11': c,
'12': d,
'13': e
} string = str(input("请输入一个月份(1-12):"))
sets.get(string, e)(string) pycharm中执行结果:
请输入一个月份(1-12):12
你输入的是:【12】是冬季

Python实现switch效果的更多相关文章

  1. Why Doesn't Python Have Switch/Case?

    Why Doesn't Python Have Switch/Case? Tuesday, June 09, 2015 (permalink) Unlike every other programmi ...

  2. python没有switch,可以用字典来替代

    python没有switch,是因为可以用字典来替代,具体方法如下: def add(x,y): print(x+y)def subtraction(x,y): print(x-y)def multi ...

  3. python & dict & switch

    python & dict & switch python 中是没用switch语句的,这应该是体现python大道至简的思想,python中一般多用字典来代替switch来实现. # ...

  4. Python之switch

    首先声明,Python没有switch!!! 通过函数与字典的结合实现 #!/usr/bin/python #coding:utf-8 from __future__ import division ...

  5. 在_vimrc中 set noexpandtab python 不起效果

    我ctm,今天配置不让tab转为空格,在_vimrc中set noexpandtab 不起效果. set ts=4也不起效果. 但是在命令行中其效果. 我都不知道咋办了. 问人说我有可能使用的不是那个 ...

  6. python中Switch/Case实现

    学习Python过程中,发现没有switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现.所以不妨自己来实现Switch/Case功能. 方法一 通过字典实现 ...

  7. python技巧 switch case语句

    不同于C语言和SHELL,python中没有switch case语句,关于为什么没有,官方的解释是这样的 使用Python模拟实现的方法: def switch_if(fun, x, y):    ...

  8. python + sklearn ︱分类效果评估——acc、recall、F1、ROC、回归、距离

    之前提到过聚类之后,聚类质量的评价: 聚类︱python实现 六大 分群质量评估指标(兰德系数.互信息.轮廓系数) R语言相关分类效果评估: R语言︱分类器的性能表现评价(混淆矩阵,准确率,召回率,F ...

  9. go语言笔记——还是大爱的我的python,开发效果高,tornado的性能也很不错

    Go 自带的工具集主要使用脚本和 Go 语言自身编写的,目前版本的 Go 实现了以下三个工具: go install 是安装 Go 包的工具,类似 Ruby 中的 rubygems.主要用于安装非标准 ...

随机推荐

  1. 使用 JavaScript 将网站后台的数据变化实时更新到前端

    问:难道只能设置定时器每隔一秒通过 Ajax 向后台请求数据来实现吗? 答: 1. nodejs的 http://socket.io 支持上述 李宏训 所说的三种方式,另外还支持 Flash Sock ...

  2. vmware常用命令

    控制台桌面执行快捷键ctrl+alt+f2 可以进入命令行

  3. Python换行符问题:\r\n还是\n?

    今天写一个Python脚本去读取一个txt文件时,发现一个很有趣的现象: 如果这个文件是用atom编辑器写的,发现换行符是'\r'.这样一来去逐行读取数据就失效了,因为用open函数 去打开该文件re ...

  4. HDOJ 4267 A Simple Problem with Integers (线段树)

    题目: Problem Description Let A1, A2, ... , AN be N elements. You need to deal with two kinds of opera ...

  5. Iterables vs. Iterators vs. Generators

    Reprinted from: Iterables vs. Iterators vs. Generators Occasionally I've run into situations of conf ...

  6. 查看局域网中连接的主机名和对应的IP地址

    1.查看局域网中的所有主机名 2.通过主机名解析IP地址:-4选项 3.通过IP地址解析主机名:-a选项

  7. 021_nginx动态upstream检查

    GET: 请求指定的页面信息,并返回实体主体.HEAD: 只请求页面的首部. #参考:http://tengine.taobao.org/document_cn/http_upstream_check ...

  8. python学习第11天 迭代器

    函数的名称 闭包 迭代器 递归

  9. Maven中央仓库地址整理

    最近做项目的时候,一直发现常用的oschina maven源一直都没有反应,后面发现原来oschina竟然关闭了maven源服务,后面经同事推荐了阿里云的maven源,这速度杠杠的 Maven 中央仓 ...

  10. 安装python的pip模块

    安装python的pip模块 网址https://pypi.python.org/pypi/pip 选择,点击下载 将文件解压到C:\Users\Administrator\AppData\Local ...