«
条件判断

时间:2022-8-17     作者:李泽信     分类: python基础


条件语句是通过一条或者多条语句执行的结果(True或False)来决定执行的代码块
一、if条件语句
1.if 条件语句的语法:
if 条件:
    执行的代码块1
elif:
    执行的代码快2
else:
    执行的代码块3
2.if中常用的操作运算符:

比较运算符:返回都是布尔值

运算符 名称 实例
> 大于 x > y
< 小于 x < y
== 等于 x == y
>= 大于等于 x >= y
<= 小于等于 x <= y
!= 不等于 x != y

算术运算符

运算符 名称 实例
+ 加法 x + y
- 减法 x - y
* 乘法 x * y
/ 除法 x / y
// 取整 x // y
% 取余(取模) x % y
** x ** y

赋值运算符

运算符 实例
= x = 5
+= x += 5
-= x -= 5
*= x *= 5
/= x /= 5
%= x %= 5
//= x //= 5
**= x **= 5

逻辑运算符:结果都是布尔值,要么是False,要么是True

运算符 描述 实例
and 如果两个语句都为真,则为真(True) x > 3 and x < 5
or 如果其中一个语句为真,则为真(True) x > 3 or x <4
not 反转,如果结果为真,则返回假(False) not(x >3 and x < 5)

成员运算符:判断是否存在

运算符 描述 实例
in 如果对象存在指定值的序列,则返回True x in y
not in 如果对象不存在指定值的序列,则返回True x not in y

位运算符:主要用于(二进制)数字中

运算符 描述 实例
& and 如果两个位均为1,则将每个为设为1
I or 如果两位中的一位为1,则将每个位设为1
^ xor 如果两个位中只有一位为1,则将每个位设为1
~ not 反转所有位
<< zero filll left shift 通过从右侧推入零来向左移动,推掉最左边的位
>> signed right shift 通过从左侧推入最左边的位的副本向右移动,推掉最右边的位
例如:年龄超过18才能上网,不超过18不能上网;
age = input('请输入你的年龄:')   
if age >= '18': #input接收到的数据类型都是字符串,需要数据转换
    print('快快乐乐的上网去了...')
else:   #else后面不跟条件
    print('你的年龄还小,不能上网!')

3.if嵌套语句的语法:

if  条件1:
        条件1执行的代码1
        条件1执行的代码2
        ...
       if 条件2:
            条件2执行的代码1
            条件2执行的代码2
            ...
        elif 条件3:
            条件3执行的代码块1
            条件3执行的代码块2
elif 条件4:
        条件4执行的代码块1
        条件4执行的代码块2
else:
    执行的代码块
例如:用户输入的用户名和密码判断是否可以正常登陆
name = input("请输入你的用户名:")
if name == '老王':
    print('用户名输入正确,请输入密码!')
    password = int(input("请输入你的密码:"))
    if password == 123:
        print('密码输入正确,可以登录')
    else:
        print('密码输入错误,请重新登录!')
else:
    print('用户名输入错误,请重新输入!')

3.多重判断

if  条件1:
    条件1执行的代码块1
    条件1执行的代码块2
    ...
elif    条件2:
    条件2执行的代码块1
    条件2执行的代码块2
    ...
else:
    执行的代码块
例如:根据用户输入的年龄判断用户所属用户年龄区间
age = int(input('请输入你的年龄'))
if age < 18:
    print(f"你的年龄是{age},为童工!")
elif 18 <= age <=60:
    print(f"你的年是{age},属于合法工作年龄!")
elif 60 < age <= 100:
    print(f"你的年龄为{age},属于退休年龄!")
else:
    print(f"你的年龄为{age},超百龄了,搁家里休息吧,别乱跑了!")