当需要用到3个及以上的if...elif...else时就要考虑该方法进行简化

通过将函数名称当做字典的值,利用字典的关键字查询,可以快速定位函数,进行执行

【场景】用户查询信息,输入fn查询,执行对应函数

 # 简单用十个函数模拟查询函数
def fun1():
print("查询1")
def fun2():
print("查询2")
def fun3():
print("查询3")
def fun4():
print("查询4")
def fun5():
print("查询5")
def fun6():
print("查询6")
def fun7():
print("查询7")
def fun8():
print("查询8")
def fun9():
print("查询9")
def fun10():
print("查询10")

传统方法 if...elif...elif...else(写起来很麻烦)

choice = input("请输入查询内容fn:")
if choice == 'f1':
fun1()
elif choice == 'f2':
fun2()
elif choice == 'f3':
fun3()
elif choice == 'f4':
fun4()
elif choice == 'f5':
fun5()
elif choice == 'f6':
fun6()
else:
fun10() """
请输入查询内容fn:f1
查询1 """

将函数当做字典的值

# 创建字典
info = {'f1': fun1,
'f2': fun2,
'f3': fun3,
'f4': fun4,
'f5': fun5,
'f6': fun6,
'f7': fun7,
'f8': fun8,
'f9': fun9,
'f10': fun10}
choice = input("请输入查询内容fn:")
info_value = info.get(choice)
print(info_value)
if info_value:
info_value()
else:
print('输入异常')
"""
请输入查询内容fn:f11
None
输入异常 """

获取字典中的value 使用get()函数,这样当关键字不存在时,返回的值的None,不会导致程序报错

【总结】遇到连续重复的代码编写时,要思考解决方法,提高编程效率,同时增加代码的可读性

最新文章

  1. 2016 Multi-University Training Contest 2 D. Differencia
  2. 剑指Offer面试题:34.翻转单词顺序VS左旋转字符串
  3. Object方法equals、hashCode
  4. [Java 基础]接口
  5. 堆 poj 2010
  6. Fault Tolerance —— Storm的故障容错性
  7. codeforces 439 E. Devu and Birthday Celebration 组合数学 容斥定理
  8. dom解析器机制 web基本概念 tomcat
  9. CentOS6.5配置MySQL主从同步
  10. [置顶] Oracle job procedure 存储过程定时任务
  11. Llinux-apache安装
  12. android电池充电以及电量检测驱动分析
  13. Android Development HandBook-Android Studio 特别篇
  14. 使用SVM对多类多维数据进行分类
  15. Java多线中基础知识整理
  16. python-Djando项目搭建
  17. hdu 3068 最长回文【manacher】(模板题)
  18. c++中文件读取
  19. [转]CSS浏览器兼容问题总结
  20. dbms_stats.gather_table_stats详解

热门文章

  1. CCPC桂林
  2. TestNG(十五)xml文件实现多线程测试
  3. spring使用ehcache实现页面缓存
  4. 浅谈HDFS(一)
  5. Python + opencv 实现图片文字的分割
  6. 黑苹果之DELL台式机安装Mac OS X 10.13.6版本操作系统
  7. 10.Django基础八之cookie和session
  8. Spring boot 梳理 - mappingJackson2JsonView
  9. spring后台重定向方式
  10. 【SQL基础】char,nchar,vchar,nvchar之间的区别