Python for Kids
  • 0 前言
  • 1 编程环境准备
  • 2 运算符和表达式
  • 3 掌握变量
  • 4 字符串
  • 5 获取用户的输入
  • 6 条件判断
  • 7 条件判断实操
  • 8 FOR循环
  • 9 循环和列表
  • 10 WHILE循环
  • 11 WHILE循环实操
  • 12 WHILE循环再实操
  • 13 多重循环
  • 14 再谈列表
  • 15 初见函数
  • 16 函数实操
  • 17 选择排序
  • 18 冒泡排序
  • 19 递归算法之一
  • 20 递归算法实操
  • 21 快速排序
  • 22 汉诺塔游戏
  • 23 递推算法
  • 24 分治算法
  • 25 集合与组合
  • 26 贪心算法
  • 27 字典和键值对
  • 28 广度优先搜索算法
  • 29 数组和向量化计算
  • 30 随机和模拟
  • 31 数据可视化
  • 32 文件读取和分析
Powered by GitBook
On this page
  • 大纲
  • 关系表达式
  • IF语句
  • if语句的嵌套
  • 逻辑变量

Was this helpful?

6 条件判断

如果硬币能立起来,我就去写作业

大纲

  • 关系表达式

  • IF语句

  • 嵌套的IF

  • 逻辑变量

关系表达式

在日常的学习生活中,我们会碰到许多的条件判断,例如考试成绩大于60分就意味着及格。这种判断需要将两个数字进行比较,这种比较称之为关系表达式。

例如下面用python来表达大小的关系。>就是表达大于,python会对这个表达式进行判断,得到一个判断的结果。

80>60
True

因为80确实要比60大,所以比较的结果是True,也就是“真”。

50>60
False

而50不比60大,所以比较的结果是False,也就是假。

这种比较还有很多,例如小于,或是等于。

50<60
True
60==60
True
50>=50
True

IF语句

下面我们来写一段完整的代码,功能是读取一个输入的成绩,然后需要判断这个成绩是否合格。

x = input("请输入你的成绩:")
x = float(x)
if x>60 :
    print("及格啦")
请输出你的成绩:40

上面这段代码使用了if关键词,后面接着一个关表达式,判断为True的话,就会打印出及格啦几个字。

如果成绩大于60,可以输出我们希望的结果,但是如果我们的成绩小于60,没有任何的输出,所以需要修改一下。

x = input("请输入你的成绩:")
x = float(x)
if x>60 :
    print("及格啦")
else:
    print("好可惜,不及格")
请输出你的成绩:40
好可惜,不及格

当我们输入小于60的分数时,if后的条件不满足,就会自动转到else的语句去执行。所以if...else是常用的一对条件判断。

下面我们来再练习巩固一下,用条件判断语法来写一段代码,判断输入的是奇数还是偶数。

x = input("请输入数字:")
x = float(x)
if x%2==0 :
    print("这是偶数")
else:
    print("这是奇数")
请输入数字:10
这是偶数

if语句的嵌套

if...else语句是可以嵌套使用的,让我们看一个例子,在网站的登录界面,往往需要输出用户名和密码,只有都正确,才会输出欢迎用户的话,如果不对,则需要告诉用户是用户名错误,还是密码错误。

USER = "tom"
PASSWORD = "132"
user = input("请输入用户名:")
password = input("请输入密码:")
if USER == user:
    if PASSWORD == password:
        print("小朋友,欢迎你")
    else:
        print("密码错误")
else:
    print("用户名错误")
请输入用户名:tom
请输入密码:122
密码错误

逻辑变量

在之前的逻辑表达式里,我们得到了True或是False这种结果,这种是逻辑值,可以直接对它进行赋值和计算。

小明家里的灯是用线来拉的,拉一下就开,再拉一下就关,如果调皮的小明连续拉了5下,这时是开还是关?(最开始灯是关着的)

light = False
light = not light
light = not light
light = not light
light = not light
light = not light
if light:
    print("灯亮着")
else:
    print("灯灭了")
灯亮着
type(light)
bool

我们用一个逻辑变量来表达灯的状态,一开始是关着的,所以赋值是False,然后每拉一下,就会这个逻辑变量做一次取非的操作

除了 not 这个逻辑非的操作之外,还有逻辑与、逻辑或的操作。

(3>2) and (10%2==0)
True
(3<2) or (10%2==0)
True

写一段代码,判断一个数字是否同时能被3和5整除。

x = input("请数字:")
x = float(x)
if (x%3 == 0) and (x%5 == 0):
    print("可以同时被整除")
else:
    print("不能同时被整除")
请数字:4
不能同时被整除

在之前网站登录的例子里,还可以用逻辑与来改写这段代码。

USER = "tom"
PASSWORD = "132"
user = input("请输入用户名:")
password = input("请输入密码:")
if (USER == user) and (PASSWORD == password):
    print("小朋友,欢迎你")
else:
    if PASSWORD != password:
        print("密码错误")
    else:
        print("用户名错误")
请输入用户名:tom
请输入密码:134
密码错误

可以用elif来代替else以及后面的if

USER = "tom"
PASSWORD = "132"
user = input("请输入用户名:")
password = input("请输入密码:")
if (USER == user) and (PASSWORD == password):
    print("小朋友,欢迎你")
elif PASSWORD != password:
    print("密码错误")
else:
    print("用户名错误")
Previous5 获取用户的输入Next7 条件判断实操

Last updated 4 years ago

Was this helpful?