【发布时间】:2015-02-04 12:25:01
【问题描述】:
考虑这样的任务:
你开得太快了,警察拦住了你。编写代码来计算结果,编码为 int 值:0=无票,1=小票,2=大票。如果速度小于等于 60,则结果为 0。如果速度在 61 和 80 之间,则结果为 1。如果速度大于或等于 81,则结果为 2。
首先想到的是一堆ifs,比如:
def caught_speeding(speed):
if speed > 80:
return 2
elif speed > 60:
return 1
else:
return 0
是否有办法以更少的行数达到相同的结果?
【问题讨论】:
-
为什么需要更少的行?您现在拥有的内容清晰易读。
-
@MartijnPieters,感谢指点,更正了我的解决方案。
标签: python