大纲
关系表达式
在日常的学习生活中,我们会碰到许多的条件判断,例如考试成绩大于60分就意味着及格。这种判断需要将两个数字进行比较,这种比较称之为关系表达式。
例如下面用python来表达大小的关系。>就是表达大于,python会对这个表达式进行判断,得到一个判断的结果。
因为80确实要比60大,所以比较的结果是True,也就是“真”。
而50不比60大,所以比较的结果是False,也就是假。
这种比较还有很多,例如小于,或是等于。
IF语句
下面我们来写一段完整的代码,功能是读取一个输入的成绩,然后需要判断这个成绩是否合格。
Copy x = input("请输入你的成绩:")
x = float(x)
if x>60 :
print("及格啦")
上面这段代码使用了if关键词,后面接着一个关表达式,判断为True的话,就会打印出及格啦几个字。
如果成绩大于60,可以输出我们希望的结果,但是如果我们的成绩小于60,没有任何的输出,所以需要修改一下。
Copy x = input("请输入你的成绩:")
x = float(x)
if x>60 :
print("及格啦")
else:
print("好可惜,不及格")
当我们输入小于60的分数时,if后的条件不满足,就会自动转到else的语句去执行。所以if...else是常用的一对条件判断。
下面我们来再练习巩固一下,用条件判断语法来写一段代码,判断输入的是奇数还是偶数。
Copy x = input("请输入数字:")
x = float(x)
if x%2==0 :
print("这是偶数")
else:
print("这是奇数")
if语句的嵌套
if...else语句是可以嵌套使用的,让我们看一个例子,在网站的登录界面,往往需要输出用户名和密码,只有都正确,才会输出欢迎用户的话,如果不对,则需要告诉用户是用户名错误,还是密码错误。
Copy USER = "tom"
PASSWORD = "132"
user = input("请输入用户名:")
password = input("请输入密码:")
if USER == user:
if PASSWORD == password:
print("小朋友,欢迎你")
else:
print("密码错误")
else:
print("用户名错误")
Copy 请输入用户名:tom
请输入密码:122
密码错误
逻辑变量
在之前的逻辑表达式里,我们得到了True或是False这种结果,这种是逻辑值,可以直接对它进行赋值和计算。
小明家里的灯是用线来拉的,拉一下就开,再拉一下就关,如果调皮的小明连续拉了5下,这时是开还是关?(最开始灯是关着的)
Copy light = False
light = not light
light = not light
light = not light
light = not light
light = not light
if light:
print("灯亮着")
else:
print("灯灭了")
我们用一个逻辑变量来表达灯的状态,一开始是关着的,所以赋值是False,然后每拉一下,就会这个逻辑变量做一次取非的操作
除了 not 这个逻辑非的操作之外,还有逻辑与、逻辑或的操作。
写一段代码,判断一个数字是否同时能被3和5整除。
Copy x = input("请数字:")
x = float(x)
if (x%3 == 0) and (x%5 == 0):
print("可以同时被整除")
else:
print("不能同时被整除")
在之前网站登录的例子里,还可以用逻辑与来改写这段代码。
Copy USER = "tom"
PASSWORD = "132"
user = input("请输入用户名:")
password = input("请输入密码:")
if (USER == user) and (PASSWORD == password):
print("小朋友,欢迎你")
else:
if PASSWORD != password:
print("密码错误")
else:
print("用户名错误")
Copy 请输入用户名:tom
请输入密码:134
密码错误
可以用elif来代替else以及后面的if
Copy USER = "tom"
PASSWORD = "132"
user = input("请输入用户名:")
password = input("请输入密码:")
if (USER == user) and (PASSWORD == password):
print("小朋友,欢迎你")
elif PASSWORD != password:
print("密码错误")
else:
print("用户名错误")