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)
原文地址:https://blog.csdn.net/qq_73797346/article/details/145410895
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/528071.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/528071.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!