程序的判断
为了让程序能够在执行时有不同的选择,因此程序语言通常都有判断句的语法,让程序在执行时可以依照所给的条件内容来决定到底要做哪件事情。判断句以人类的语言来看就如同这种句子:
吃早餐
如果今天下雨就带雨伞并穿雨鞋
如果今天没下雨就穿球鞋
出门
工作
回家
睡觉
对于今天下雨到底要不要带伞换鞋,就是一种判断句,由条件「是否下雨」来决定要做什么事情「打伞换鞋」。
接下来介绍 Pyhton 的判断句
if 判断句
if 在英文里的意思是「如果」,所以其实可以很直觉的就直接联想成中文的「如果」,Python 的判断句长的像这样:
if 条件:
成立的话要做的事情
它是由 if 开头,隔一个以上的空白,然后接条件,再接一个冒号,断行后要有固定的缩排,把要做的事情区块挤出来。把它想成中文就是:
如果条件成立的话,就做要做的事情。
缩排
Python 用缩排来区分程序的区块。所谓的缩排,就是指用一定数量的空白,将代码往右挤,形成整齐的巢状结构,这样就很容易看得懂代码,但是在 Pyhton 缩排被拿来当程序判断区块的规则,所以在 Python 里不得不缩排。虽然 Python 没有规定缩排要几个空白,但是最好一整个档案里的缩排都用一定的个数,避免突然用4个,另一个地方用2个,这样会造成混乱。
逻辑运算
有了判断句之后,还有一个重要的地方,就是条件。想要判断条件就需要用上逻辑运算。逻辑运算有好几种:
== 相等,两边相等时为真
!= 不相等,两边不相等时为真
< 小于,左边小于右边时为真
> 大于,左边大于右边时为真
<= 小于等于,左边小于等于右边时为真
>= 大于等于,左边大于等于右边时为真
or 或,左右两边只要有一个为真时为真
and 且,左右两边都为真时为真
not 否定,右边为真时为假,为假时为真
所谓的「真」就是指成立的意思,假也就是不成立的意思。在 Python 里面有两个字用来表示真和假,分别为 True 和 False,要注意的是大小写都要一样。
以下为 if 判断句以及逻辑运算的几段小示范,每段示范都可以单独测试:
#!/usr/bin/python
# -*- coding: utf-8 -*-
# 例子A
if 1 + 1 == 2:
print '如你所见,1+1等于2。'
print '在同一缩排里。'
print '都被视为同样的区块。'
print '也就是条件成立时会执行的代码区块。'
print '如果if里的加法结果不等于2,则此段代码不会打印出来。'
if True:
print 'Yes, it is true.\n'
a = 10
if a == 10:
print 'a等于10'
print '在区块里都要一样的缩排长度'
if a % 2 == 0:
print 'a是2的倍数'
print '这一行一样是同一个区块\n'
# 例子B
if 10 % 2 == 0 and 10 % 5 == 0:
print '10是2和5的倍数'
a = 10
b = 20
if a < b:
print 'a小于b\n'
# 例子C
number = 5
guess = int(raw_input('已知number等于5,\
输入一个大于5或者小于5的数字赋予guess:'))
if number == guess:
print '是的,number等于guess。'
if True:
print 'Done.'
if number > guess:
print '是的,number大于guess。'
if True:
print 'Done.'
if number < guess:
print '是的,number小于guess。'
if True:
print 'Done.'
# 例子D
number = 10
guess = int(raw_input('已知number等于10,\
输入一个大于或者小于10的数字赋予guess:'))
if not number >= guess:
print 'number「10」并非大于等于你输入的guess值「%d」。' % guess
if not number <= guess:
print 'number「10」并非小于等于你输入的guess值「%d」。' % guess
if number == guess:
print 'number「10」和你输入的值「%d」相等。' % guess
else 语法
有时候,我们除了会讲如果怎样怎样
,有时候也会反过来想那没有的话怎么办
。在程序语言里就是 else。如果程序不成立就会跳到 else 区块里去执行。
elif 语法
又有些时候,我们会针对一件事情想很多对策,如果签名的不行,就换下一项继续。elif 在程序语言里就是这样的角色。
将 elif 和 else 联想成中文语义可以是:
如果「if」 下雨 就帶雨傘
不然如果「elif」 下雪 就帶雪衣
再不然如果「elif」,出太陽 就戴太陽眼鏡
如果都不是的話「else」 就躲在家裡
可以参考下面的示范:
#!/usr/bin/python
# -*- coding: utf-8 -*-
if 10 % 2 == 0 and 10 % 2 == 0:
print "10是2和5的倍数"
else:
print "10不是2和5的倍数"
a = 10
b = 20
if a > b:
print "a大于b"
else:
print "a小于等于b\n"
number = 10
guess = int(raw_input('已知number为10,\
为guess赋予一个大于或小于10的整数:'))
if number > guess:
print "你输入的值「%d」小于number「10」" % guess
elif number < guess:
print "你输入的值「%d」大于number「10」" % guess
else:
print "你输入的值「%d」与number相同" % guess
谢谢通俗易懂的解释~喵~