Python中,为什么要了解判断语句?
在生活中进行逻辑判断,是常见的行为。同样,在程序中,进行逻辑判断也是最为基础的功能。
在Python中,判断是程序最基础 最核心的逻辑功能!
1.1 布尔类型与比较运算符
程序中,如何描述:是或否呢?
使用:布尔类型
进行判断,只有2个结果: 是 否
布尔(bool)表达现实生活中的逻辑,即真和假 True表示真 False表示假。 True本质上是一个数字记作1,False记作0
得到布尔值方式
:
方式
1
:
直接赋值 方式
2
:
通过比较获取布尔结果
比较运算符
: ==
!
=
> >
=
< <
=
#
布尔值可以直接赋值
a
=
True
print
(
a
)
#
布尔值可以通过比较得到
print
(
10
==
8
)
# False
print
(
10
!
=
8
)
# True
print
(
10
>
=
8
)
# True
print
(
10
>
8
)
# True
print
(
10
<
8
)
# False
print
(
10
<
=
8
)
# False
#
注意
:
两个字符串比较内容是否相同可以用
==
print
(
'zhangsan'
==
'lisi'
)
print
(
'admin'
==
'admin'
)
1.2.注意:顺序执行
Python默认基础程序都是从上往下依次按照顺序执行
#
顺序执行
,
从上往下
,
每一行依次执行
print
(
'
程序开始
...'
)
print
(
'
我已经成年了
...'
)
print
(
'
程序结束
...'
)
1.3.format格式化输出格式: print(f"...{变量或者表达式}...")
#
需求
:
用
2
个变量记录你的姓名和年龄
,
格式化输出
: xx
的年龄是
xx
岁
name
=
'
大帅哥
'
age
=
18
print
(
f'{name}
的年龄是
{age}
岁
'
)
#
需求
:
用变量记录两个整数
,
计算两个数的和
,
格式化输出
: a+b
的结果是
:x
a
=
1
b
=
2
he
=
a
+
b
print
(
f'{a}+{b}
的结果是
:{he}'
)
#
需求
:
直接使用表达式进行格式化输出
a
=
10
b
=
20
print
(
f'{a}+{b}
的结果是
:{a + b}'
)
2.if判断语句
2.1 input函数应用
input函数功能: 获取用户输入的内容
input函数格式: 变量接收用户输入的数据 = input(给用户的提示语)
input步骤拆分: 1.先打印括号中给用户的提示语 2.用户输入并且使用input获取到数据 3.变量接收对
应数据
注意事项: input默认接收的数据都是字符串类型 ,如果想要用于计算需要使用int()或者float()做类
型转换
#
需求
:
已知用户名是
admin,
密码是
123456,
要求提示用户输入用户名和密码信息
,
后台获取到用户的信息
# 1.
在
input
中给用户提示
# 2.
让用户输入信息
,
并且后台接收对应信息
name
=
input
(
'
请您输入用户名
:'
)
pwd
=
input
(
'
请您输入密码
:'
)
# 3.
让用户确认下信息
print
(
f'
您输入的用户名
{name},
密码是是
:{pwd}'
)
2.2 if基本格式
if 判断条件:
满足条件执行的代码
#
需求
:
编写程序判断年龄大于等于
18
岁
,
可以进入网吧了
# 1.
获取用户的年龄
age
=
int
(
input
(
'
请您输入您的年龄
:'
))
# 2.
判断年龄给出提示
if
age
>
=
18
:
print
(
'
可以进入网吧了
~'
)
if
age
<
18
:
print
(
'
回家写作业吧
~'
)
print
(
'
其他代码
...'
)
2.3 if else格式
if 判断条件:
满足条件执行的代码
else:
不满足条件执行代码
#
需求
:
编写程序判断年龄大于等于
18
岁
,
可以进入网吧了
,
否则回家写作业
# 1.
获取用户的年龄
age
=
int
(
input
(
'
请您输入您的年龄
:'
))
# 2.
判断年龄给出提示
if
age
>
=
18
:
print
(
'
可以进入网吧了
~'
)
else
:
print
(
'
回家写作业吧
~'
)
print
(
'
其他代码
...'
)
2.4 if elif ... else格式
if 判断条件:
满足条件执行的代码
elif 判断条件:
满足执行的代码
else:
不满足条件执行代码
"""
需求
:
编写一个程序
,
判断根据学生分数判断学生等级
优
:90(
含
)-100
良
:70(
含
)-90
中
:60(
含
)-70
差
:
大于等于
0
小于
60
"""
# 1.
获取学生的分数
score
=
int
(
input
(
'
请您输入分数要求范围
0-100:'
))
# 2.
根据优良中差条件依次判断给出对应等级
if
90
<
=
score
<
=
100
:
print
(
'
优
'
)
elif
70
<
=
score
<
90
:
print
(
'
良
'
)
elif
60
<
=
score
<
70
:
print
(
'
中
'
)
elif
0
<
=
score
<
60
:
print
(
'
差
'
)
else
:
print
(
'
对不起
,
您的输入有误
!!!'
)
注意
:
在
python
中使用
tab
缩进
(4
个空格
)
来判断代码的依赖关系
3.判断语句的嵌套
有很多场景,不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求。 对这种需求,嵌套判断语句可以实现!
3.1嵌套判断语句的基本格式
如上图,第二个if,属于第一个if内,只有第一个if满足条件,才会执行第二个if 嵌套的关键点,在于:空格缩进 通过空格缩进,来决定语句之间的:层次关系
"""
需求
:
编写一个程序
,
判断根据学生分数判断学生等级
优
:90(
含
)-100
良
:70(
含
)-90
中
:60(
含
)-70
差
:
大于等于
0
小于
60
"""
# 1.
获取学生的分数
score
=
float
(
input
(
'
请您输入分数要求范围
0-100:'
))
# 2.
根据优良中差条件依次判断给出对应等级
#
优化思路
:
先判断是否满足基础条件
,
满足再判断等级
,
不满足直接给提示并结束
if
0
<
=
score
<
=
100
:
if
score
>
=
90
:
print
(
'
优
'
)
elif
score
>
=
70
:
print
(
'
良
'
)
elif
score
>
=
60
:
print
(
'
中
'
)
else
:
print
(
'
差
'
)
else
:
print
(
'
对不起
,
您的输入有误
!!!'
)
3.2 生成随机数
生成随机数步骤:
1.导入模块:
import random
2.生成随机数:
num = random.randint(x,y) 注意: 包含x和y
#
导入模块
#
注意导入规则
:
就近原则
import
random
#
使用
random
生成随机数
num
=
random
.
randint
(
1
,
10
)
#
使用随机数
print
(
num
)
案例演示
案例需求:定义一个数字(1~10,随机产生),通过3次判断来猜出来数字
要求:
1. 数字随机产生,范围1-10
2. 有3次机会猜测数字,通过3层嵌套判断实现
3. 每次猜不中,会提示大了或小了
提示:提示,通过如下代码,可以定义一个变量num,变量内存储随机数字
import
random
num
=
random
.
randint
(
1
,
10
)
#
需求
:
随机生成一个
1-10
的数字
,
要求用户只能猜
3
次
"""
分析步骤
使用
random
生成
1
个
1-10
之间的随机数
使用
input
获取用户猜的数
拿着每次用户猜的数和随机数比较
"""
# 1.
使用
random
生成
1
个
1-10
之间的随机数
import
random
num
=
random
.
randint
(
1
,
10
)
print
(
f'当前随机数的
底数是
:{num}'
)
# 2.
使用
input
获取用户猜的数
guess
=
int
(
input
(
'
请您输入猜的数
(1-10):'
))
# 3.
拿着每次用户猜的数和随机数比较
if
1
<
=
guess
<
=
10
:
if
guess
==
num
:
print
(
'
恭喜您
,
猜对了
!'
)
else
:
if
guess
>
num
:
print
(
'
猜大了
'
)
else
:
print
(
'
猜小了
'
)
guess
=
int
(
input
(
'
请您输入猜的数
(1-10):'
)
if
1
<
=
guess
<
=
10
:
if
guess
==
num
:
print
(
'
恭喜您
,
猜对了
!'
)
else
:
if
guess
>
num
:
print
(
'
猜大了
'
)
else
:
print
(
'
猜小了
'
)
guess
=
int
(
input
(
'
请您输入猜的数
(1-10):'
))
if
1
<
=
guess
<
=
10
:
if
guess
==
num
:
print
(
'
恭喜您
,
猜对了
!'
)
else
:
if
guess
>
num
:
print
(
'
猜大了
'
)
else
:
print
(
'
猜小了
'
)
else
:
print
(
'
输入有误
!!!'
)
else
:
print
(
'
输入有误
!!!'
)
else
:
print
(
'
输入有误
!!!'
)