python中的if判读

判断

判断分为显式布尔值和隐式布尔值。

0、None、空字符串都是 False

# 显式
a = 1
print(a > 2)

# 隐式
if 1:
    print(1)
语法示例

1.python单分支判断语句:

if 条件:        # 条件结束要加:号(不是;号)
    执行动作一   # 这里一定要缩进(tab键或四个空格),否则报错

示例:

a=1
if a==1:
    print('OK')
    
输出:OK

2.python多分支判断语句

if 条件:
    执行动作一
else:                 # else后面也要加:
    执行动作二

示例:

a=1
if a==0:
    print('OK')
else:
    print('a is not 0')
    
输出:a is not 0

3.python多分支判断语句

if 条件一:
    执行动作一
elif 条件二:         # elif 条件后面都要记得加:
    执行动作二
elif 条件三:
    执行动作三
else:
    执行动作四

示例:

a=3
if a==1:
    print('a is 1')
elif a==2:
    print('a is 2')
elif a==3:
    print('a is 3')
    
#输出: 3
判断案例

1.判断输入的字符是否为数字

char=input("input a char: ")
if char.isdigit():
    print(char,"is digit")
else:
    print(char, 'is not digit')	

2.判断平年和闰年:

  • 普通年份:能被4整除但不能被100整除的年份是闰年
  • 世纪年份:能被400整除的年份是闰年
year = 2028
if year % 400 == 0:
    print(year, 'is leap year')
elif year % 4 == 0 and year % 100 != 0:
    print(year, 'is leap year')
else:
    print(year, 'is not leap year')
a=1
b=2
print(a is b)

a=1
b=1
print(a is b)

结果:
False
True

2.多个判断表达式运用

result = 5-4 >= 0 and 4*(6-2) < 15
print(result)

结果:false

第一个表达式是5-4 >= 0,计算结果为True,因为5-4等于1,而1大于等于0
第二个表达式是4*(6-2) < 15,计算结果为False,因为4*(6-2)等于16,而16不小于15

3.os模块中的文件结合if判断。注意运行时不要输入带有引号的文件路劲

import os
file=input("Please input a file path: ")
if os.path.exists(file):
    print(file, 'exit')
else:
    print(file, "not exit")

结果:
Please input a file path: D:\Desktop\IMG_20240827_192748.jpg
D:\Desktop\IMG_20240827_192748.jpg exit
if嵌套
if 条件一:
    if 条件二:
        执行动作一
    else:
        执行动作二
    执行动作三
else:
    if 条件三:
        执行动作四
    else:
        执行动作五
    执行动作六
执行动作七
name = input("Please your name: ")
sex = input("Please input sex: ")
age = int(input("Please input your age: "))
if sex == "man":
    if age <= 18:
        print(name,"是男孩")
    elif age > 18:
        print(name, "是男士")
elif sex == "women":
    if age <= 18:
        print(name, "是女孩")
    elif age > 18:
        print(name, "是女士")
判断对象
生成式
def func(x):
    if x > 2:
        return 'OK'
    else:
        return False

# 三元表达式
def func(x):
    return 'OK' if x > 2 else False
列表生成式

列表生成式的基本语法是[表达式 for 变量 in 可迭代对象]

找出包含dsb的关键字,l 是一个字符串列表,包含一些以 'dsb' 结尾的字符串。

l = ['1dsb', '2dsb', '3sb', '4d']
new_l = []
for name in l:
    if name.endswith('dsb'):
        new_l.append(name)
print(new_l)

# 三元表达式
new_l = [name for name in l if name.endswith('dsb')]

列表生成式案例,需求去除 _dsb

l = ['11_dsb', '22_dsb', '33dsb', '44']
new_l = []

for i in l:
    if i.endswith('dsb'):
        i = i.removesuffix('_dsb')
        new_l.append(i)

print(new_l)

# 三元表达式
net_l = [i.removesuffix('_dsb') if i.endswith('_dsb') else i for i in l]

字典生成式案例

创建一个包含 1 到 10 的平方的列表,使用常规的方法可以这样写

squares = []
for i in range(1, 11):
    squares.append(i * i)
print(squares)

#结果 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

使用列表生成式为:

list1 = [a * a for a in range(1, 11)]
print(list1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值