菜鸟 or 老司机?写段代码看看吧

新闻
有的小伙伴可能用Python写代码已经非常久了,可能觉得已经是个高手了,那么看看下面这个简单的实现需求,你会写怎样的Python代码呢?通过你写的代码,应该可以大约评估下你到底是菜鸟还是一个老司机了,试试吧,如果是菜鸟,就继续修炼吧。

有的小伙伴可能用Python写代码已经非常久了,可能觉得已经是个高手了,那么看看下面这个简单的实现需求,你会写怎样的Python代码呢?通过你写的代码,应该可以大约评估下你到底是菜鸟还是一个老司机了,试试吧,如果是菜鸟,就继续修炼吧。

 

菜鸟 or 老司机?写段代码看看吧

1、问题说明

为简单起见,我们使用Python语言,写一个简单的子程序,这个子程序仅接收一个输入参数,当输入参数为数字1、2、3、4、5时,打印出其对应的英文单词即one、two、three、four、five等单词,当输入为其它值时,打印出提示信息:“input error!”。

这应该是个非常简单的问题,看看下面两段代码吧。

2、代码段1

先看下第一部分代码,这应该是大部分小伙伴在第一时间想到的代码吧:

 

  1. def myPrint1(val): 
  2.     if val == 1: 
  3.         print('one'
  4.     elif val == 2: 
  5.         print('two'
  6.     elif val == 3: 
  7.         print('three'
  8.     elif val == 4: 
  9.         print('four'
  10.     elif val == 5: 
  11.         print('five'
  12.     else
  13.         print('input error!'
  14.  
  15. myPrint1(5) 

3、代码段2

再看下另一段代码:

 

  1. def myPrint2(val): 
  2.     d = { 
  3.         1: 'one'
  4.         2: 'two'
  5.         3: 'three'
  6.         4: 'four'
  7.         5: 'five'
  8.     } 
  9.     if val in d: 
  10.         print(d[val]) 
  11.     else
  12.         print('input error!'
  13.  
  14. myPrint2(5) 

4、菜鸟 or 老司机?

这两段Python代码针对题目要求都能得到正确的结果,但大家有没有发现他们的区别之处?看出菜鸟与老司机的区别了么?

可能大部分人写的都是第1段代码的形式。

很明显,相比于第1段代码,第2段用字典结构代替了多重的if-elif-else结构,将多种选择情况放在了数据表里面,做到了数据与逻辑代码的完全分离,要更简洁明了,并且在扩充性方面要好的多。

如果你能自然而然地在第一时间就写出了第2段代码,那么恭喜你,你基本上已经脱离了新手的范畴而进入了老司机的圈子了。

新手到老司机仅有一步之遥,努力吧。。。。。

责任编辑:未丽燕 来源: 今日头条
相关推荐

2021-05-27 07:16:23

业务代码数据

2011-07-27 10:40:41

oracleracasm

2017-05-24 10:58:28

linux系统技巧

2018-03-12 10:35:01

LinuxBash快捷键

2021-04-19 09:23:26

数字化

2018-09-28 15:06:41

MySQL优化指南数据库

2016-11-28 16:09:37

2020-03-09 10:21:12

Java集合类 Guava

2018-10-09 09:42:27

MySQL优化单表

2021-04-09 09:51:52

CyclicBarri Java循环栅栏

2018-12-19 10:52:35

嵌入式CPU微处理器

2019-08-20 09:30:18

Spring Clou组件Eureka

2017-10-17 11:09:06

2018-12-04 09:07:36

运维问题排查

2023-04-17 08:00:00

2017-03-17 15:10:52

微信消息撤回功能

2016-05-12 15:34:04

云计算

2018-03-01 15:09:07

显卡参数游戏

2019-07-18 14:17:25

运维命令网络

2024-03-21 08:21:34

Java 22Java 语言开发工具包
点赞
收藏

51CTO技术栈公众号