目录
无论是男孩还是女孩,只要是人类,我们应该都听过一个词叫做等级制度,这个其实无论是在虚拟世界中,还是我们现实生活中都会存在,比如,在游戏中,当我们的经验达到了一定数量,就会升一级,在生活中,我们的年龄和学识达到了一定程度,就会升一个年级,今天我们就用程序来模拟一下这类问题。
if...elif...else语句
针对以上问题,我们可以用if语句来解决,我们先来看一下代码:
# level 为等级
level = 0
# exp 为经验
exp = 200
if exp == 100:
level = 1
if exp == 200:
level = 2
if exp == 300:
level = 3
有人也许会觉得这样很好,其实,没错,这样是可以,但是绝不是很好,因为我们要考虑到一个性能的问题,如果这样写的话,那么每一个if语句都会去执行判断,也就是说,虽然第二个if语句已经满足了条件,但是依然会继续判断第三个if语句,而此时其实就是无用的判断了,因此性能就被降低了。
那为了解决这个问题,我们可以利用if...elif...else语句,还是一样,先来看语法:
if 表达式1:
语句块1
elif 表达式2:
语句块2
elif 表达式3:
语句块3
...
else:
语句块n
结合流程图我们再看一下:
判断方式和if基本一样,但是区别是,如果找到了匹配项,那么后面的就不会再执行了,这样很好的避免了无用的判断,提高了性能。
我们来改进一下上面的代码:
# level 为等级
level = 0
# exp 为经验
exp = 200
if exp == 100:
level = 1
elif exp == 200:
level = 2
elif exp == 300:
level = 3
else:
print("等级已到达上限")
好了,这样即实现了功能,同时又保证了程序的执行效率。此时的代码才是一个合格的代码,所以说为什么要学习编程,不是说为了一定要当程序员,也可以让我们思考问题的时候可以更加的全面缜密。
总结
if和elif都需要判断表达式的真假,而else则不需要判断;另外,elif和else都必须跟if一起使用,不能单独使用。